次の方法で共有


Nexus Kubernetes クラスターで Kubernetes クラスター機能を使用する

この記事では、Nexus Kubernetes クラスター機能を使用する方法について説明します。 Nexus Kubernetes クラスター機能は、お客様が新しいパッケージまたは機能を追加して Nexus Kubernetes クラスターを拡張できる Nexus プラットフォームの機能です。

前提条件

この攻略ガイドを読み進む前に、次のことをお勧めします。

  • 関連する包括的な概要と手順について、Nexus Kubernetes クラスターのクイックスタート ガイドを参照してください。
  • ガイドの実装を円滑に行うため、概要が説明されている前提条件を満たしていることを確認してください。
  • 最小限必要な networkcloud az-cli 拡張機能のバージョン: 2.0.b3

制限事項

  • Required フィールドが False に設定されている Kubernetes クラスター機能のみを、作成、削除、または更新できます。
  • Kubernetes クラスター機能を初めてインストールするときは、機能の名前を、表に示されている機能名のいずれかにする必要があります。 その後の更新や削除などのアクションでは、az networkcloud kubernetescluster feature list コマンドを使って機能の名前を取得する必要があります。
  • ポッドの水平オートスケーラー (HPA) がクラスター内で使われている場合は、metrics-server 機能を削除できません。
  • csi-nfscsi-volume などのストレージ関連の Kubernetes クラスター機能は、それぞれの StorageClass がクラスター内で使われている場合は削除できません。

既定の構成

Nexus Kubernetes クラスターをデプロイすると、必要な Kubernetes クラスター機能の一覧が自動的にインストールされます。 デプロイ後は、オプションの Kubernetes クラスター機能を、インストールまたはアンインストール (クラスターから削除) して管理できます。

"Required" とマークされた Kubernetes クラスター機能のインストールを制御することはできません。一方、"Required" フィールドが "False" に設定されている機能については、作成、更新、削除の操作を実行できます。update コマンドを使って、Kubernetes クラスター機能を更新することもできます。

各 Nexus Kubernetes クラスターでは、次の Kubernetes クラスター機能を使用できます。 "Required" が "True" に設定されている機能は、常に既定でインストールされ、削除できません。

名前 説明 必須 既定でインストールされています
azure-arc-k8sagents Arc が Nexus Kubernetes クラスターを接続します True True
calico コンテナー ネットワーク インターフェイス (CNI) のサポートを提供します True True
cloud-provider-kubevirt Kubernetes で仮想マシン ベースのワークロードを管理するための Cluster API (CAPI) KubeVirt プロバイダーをサポートします True True
ipam-cni-plugin ipamEnabled が True に設定されている場合、ワークロード コンテナーに接続されているレイヤー 3 ネットワークに IP アドレスを割り当てます True True
metallb Kubernetes 内のトラフィックを負荷分散するために、LoadBalancer サービスに外部 IP を提供します True True
multus Kubernetes ポッドへの複数のネットワーク インターフェイスのアタッチをサポートします True True
node-local-dns Kubernetes クラスター内の DNS のパフォーマンスと信頼性を向上させるため、NodeLocal DNSCache をデプロイします True True
sriov-dp ネットワークのパフォーマンスを向上させるため、シングルルート I/O 仮想化 (SR-IOV) 用のオプションの CNI プラグインをデプロイします True True
azure-arc-servers 各コントロール プレーンとエージェント プール ノードに Azure Arc 対応サーバーをデプロイし、Azure リソースと共に Azure 以外のリソースを管理できるようにします False True
csi-nfs Kubernetes で NFS ベースのストレージをサポートするため、NFS (ネットワーク ファイル システム) 用の Container Storage Interface (CSI) ドライバーを提供します False True
csi-volume Kubernetes 内での永続ボリューム要求のための csi-nexus-volume ストレージ クラスをサポートします False True
metrics-server メトリック サーバーをデプロイします。これは、CPU やメモリの使用量など、Kubernetes クラスターのリソース使用量メトリックを提供します False True

Note

  • 各クラスターで、Kubernetes クラスター機能の種類ごとに 1 つの機能だけを作成できます。
  • "Required" 属性が "False" に設定されている Kubernetes クラスター機能を削除すると、関連するグラフがクラスターから削除されます。

Kubernetes クラスター機能を管理する方法

次の操作を使って、Kubernetes クラスター機能の構成を作成および管理できます。

Kubernetes クラスター機能をインストールする

Kubernetes クラスター機能をクラスターにインストールするには、az networkcloud kubernetescluster feature create コマンドを使います。 複数の Azure サブスクリプションがある場合は、CLI コマンドで --subscription フラグを使うか、az account set コマンドで適切なサブスクリプション ID を選んで、サブスクリプション ID を指定する必要があります。

az networkcloud kubernetescluster feature create \
    --name "<FEATURE_NAME>" \
    --kubernetes-cluster-name "<KUBERNETES_CLUSTER_NAME>" \
    --resource-group "<RESOURCE_GROUP>" \
    --location "<LOCATION>" \
    --tags "<KEY1>=<VALUE1>" "<KEY2>=<VALUE2>"
  • プレースホルダー (<FEATURE_NAME><KUBERNETES_CLUSTER_NAME><RESOURCE_GROUP><LOCATION><KEY1>=<VALUE1><KEY2>=<VALUE2>) は、具体的な情報に置き換えます。

使用可能なすべてのパラメーターとその説明を表示するには、次のコマンドを実行します。

az networkcloud kubernetescluster feature create --help

Kubernetes クラスター機能の構成パラメーター

パラメーター名 説明
FEATURE_NAME Kubernetes クラスター feature の名前
KUBERNETES_CLUSTER_NAME クラスターの名前
LOCATION クラスターがデプロイされる Azure リージョン
RESOURCE_GROUP クラスター リソース グループの名前
KEY1 Kubernetes クラスター機能の作成に渡すオプションの tag1
VALUE1 Kubernetes クラスター機能の作成に渡すオプションの tag1 の値
KEY2 Kubernetes クラスター機能の作成に渡すオプションの tag2
VALUE2 Kubernetes クラスター機能の作成に渡すオプションの tag2 の値

az コマンドで --no-wait --debug オプションを指定すると、このコマンドの実行が非同期になります。 詳細については、非同期操作の追跡方法に関する記事を参照してください。

Kubernetes クラスター機能を一覧表示する

az networkcloud kubernetescluster feature list コマンドを使って、特定のクラスターの Kubernetes クラスター機能リソースを確認できます。 このコマンドは、指定した Kubernetes クラスターに関連付けられているすべての機能の一覧を表示します。

az networkcloud kubernetescluster feature list \
  --kubernetes-cluster-name  "<KUBERNETES_CLUSTER_NAME>" \
  --resource-group "<RESOURCE_GROUP>"

Kubernetes クラスター機能を取得する

Kubernetes クラスターが作成された後は、networkcloud kubernetescluster feature show コマンドを使って、特定の Kubernetes クラスター機能の詳細を確認できます。 これにより、機能に関する詳細な情報が提供されます。

az networkcloud kubernetescluster feature show \
 --cluster-name "<KUBERNETES_CLUSTER_NAME>" \
 --resource-group "<RESOURCE_GROUP>"

このコマンドは、Kubernetes クラスター機能の構成の JSON 表現を返します。

Kubernetes クラスター機能を更新する

Kubernetes クラスター機能の作成と同様に、更新アクションを実行して、Kubernetes クラスター機能に割り当てられているタグを変更できます。 タグを更新するには次のコマンドを使います。

重要

  • name パラメーターは、az networkcloud kubernetescluster feature list コマンドの出力から取得した "Name" と一致する必要があります。 最初はインストール時に指定した機能名を使用できますが、機能がインストールされると、一意の名前が割り当てられます。 そのため、更新と削除の操作では、テーブルで示されている初期機能名を使うのではなく、常に list コマンドを使って実際のリソース名を取得します。
az networkcloud kubernetescluster feature update \
  --name "<FEATURE_NAME>"   \
  --kubernetes-cluster-name "<KUBERNETES_CLUSTER_NAME>"  \
  --resource-group "<RESOURCE_GROUP>" \
  --tags <KEY1>="<VALUE1>" \
        <KEy2>="<VALUE2>"

az コマンドで --no-wait --debug オプションを指定すると、このコマンドの実行が非同期になります。 詳細については、非同期操作の追跡方法に関する記事を参照してください。

Kubernetes クラスター機能を削除する

Kubernetes クラスター機能を削除すると、クラスターからリソースが削除されます。 Kubernetes クラスター機能を削除するには、次のコマンドを使います。

重要

  • name パラメーターは、az networkcloud kubernetescluster feature list コマンドの出力から取得した "Name" と一致する必要があります。 最初はインストール時に指定した機能名を使用できますが、機能がインストールされると、一意の名前が割り当てられます。 そのため、更新と削除の操作では、テーブルで示されている初期機能名を使うのではなく、常に list コマンドを使って実際のリソース名を取得します。
az networkcloud kubernetescluster feature delete  \
   --name "<FEATURE_NAME>"  \
   --kubernetes-cluster-name "<KUBERNETES_CLUSTER_NAME>" \
   --resource-group "<RESOURCE_GROUP>"

az コマンドで --no-wait --debug オプションを指定すると、このコマンドの実行が非同期になります。 詳細については、非同期操作の追跡方法に関する記事を参照してください。

Note

  • Required=True である Kubernetes クラスター機能を削除しようとすると、コマンドは失敗し、"... 機能は必須機能であるため削除できません" というエラー メッセージが表示されます。
  • このような場合、後続の show/list コマンドでは provisioningStateFailed と表示されます。 これは既知の問題です。
  • provisioningState は、影響を受ける Kubernetes クラスター機能でのタグの更新のような、no-op コマンドを実行して修正できます。 これを行うには、update コマンドの --tags パラメーターを使います。 この操作により、provisioningStateSucceeded にリセットされます。