次の方法で共有


Azure Kubernetes Service (AKS) で一意のサブネットを持つノード プールを作成する

特定のワークロードでは、論理分離のためにクラスター ノードを個別のプールに分割する必要がある場合があります。 クラスター内の各ノード プール専用の個別のサブネットは、この分離のサポートに役立ち、ノード プール間で分割する非連続の仮想ネットワーク アドレス空間などの要件に対処できます。

この記事では、Azure Kubernetes Service (AKS) で一意のサブネットを持つノード プールを作成する方法について説明します。

[前提条件]

制限事項

  • ノード プールに割り当てられているすべてのサブネットは、同じ仮想ネットワーク (VNet) に属している必要があります。
  • DNS 解決や kubectl logs/exec/port-forward プロキシのトンネリングなど、重要な機能を提供するために、システム ポッドはクラスター内のすべてのノードとポッドにアクセスできる必要があります。
  • クラスターの作成後に VNet を展開する場合は、元の CIDR ブロックの外部にサブネットを追加する前に、クラスターを更新する必要があります。 AKS がエージェント プールの追加でエラーを起こす場合に、aks-preview Azure 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) でのクラスターのノード プールの管理」を参照してください。