特定のワークロードでは、論理分離のためにクラスター ノードを個別のプールに分割する必要がある場合があります。 クラスター内の各ノード プール専用の個別のサブネットは、この分離のサポートに役立ち、ノード プール間で分割する非連続の仮想ネットワーク アドレス空間などの要件に対処できます。
この記事では、Azure Kubernetes Service (AKS) で一意のサブネットを持つノード プールを作成する方法について説明します。
[前提条件]
-
Azure CLI バージョン 2.35.0 以降。 バージョンを確認するには、
az versionを実行します。 インストールまたはアップグレードが必要な場合は、Azure CLI のインストールを参照してください。 - システム ノード プールを持つ既存の AKS クラスター。 作成する必要がある場合は、「 単一ノード プールを使用した AKS クラスターの作成」を参照してください。
制限事項
- ノード プールに割り当てられているすべてのサブネットは、同じ仮想ネットワーク (VNet) に属している必要があります。
- DNS 解決や kubectl logs/exec/port-forward プロキシのトンネリングなど、重要な機能を提供するために、システム ポッドはクラスター内のすべてのノードとポッドにアクセスできる必要があります。
- クラスターの作成後に VNet を展開する場合は、元の CIDR ブロックの外部にサブネットを追加する前に、クラスターを更新する必要があります。 AKS がエージェント プールの追加でエラーを起こす場合に、
aks-previewAzure CLI 拡張機能(バージョン 0.5.66 以降)では、必要なaz aks update引数だけで--resource-group $RESOURCE_GROUP --name $CLUSTER_NAMEコマンドを実行することができるようになりました。 このコマンドは、変更を加えることなく更新操作を実行します。これにより、障害が発生した状態で停止しているクラスターを復旧できます。 - 1.23.3 より前の Kubernetes バージョンのクラスターでは、kube-proxy によって新しいサブネットからのトラフィックが SNAT されるため、Azure ネットワーク ポリシーによってパケットがドロップされる可能性があります。
- Windows ノードでは、ノード プールが再イメージ化されるまで、新しいサブネットへのトラフィックを SNAT します。
- 内部ロード バランサーは、既定でノード プール サブネットの 1 つに設定されます。
一意のサブネットを持つノード プールを追加する
az aks nodepool addコマンドと指定された--vnet-subnet-idパラメーターを使用して、一意のサブネットを持つノード プールを既存の AKS クラスターに追加します。az aks nodepool add \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --name $NODE_POOL_NAME \ --node-count 3 \ --vnet-subnet-id $SUBNET_RESOURCE_ID
次のステップ
AKS のノード プールの詳細については、「 Azure Kubernetes Service (AKS) でのクラスターのノード プールの管理」を参照してください。
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
Azure Kubernetes Service