この記事では、高度なネットワークを使用する Microsoft Azure Kubernetes Service (AKS) クラスターをデプロイしようとしたときに発生する InsufficientSubnetSize エラーを解決する方法について説明します。 この記事は、Kubernetes クラスターと Azure Container Networking Interface (CNI) クラスターの両方に適用されます。
現象
InsufficientSubnetSize エラーは、次のいずれかの操作中に発生します。 このエラーは、 AKS 診断でも発生します。これにより、不十分なサブネット サイズなどの問題が事前に検出されます。
操作 1: AKS クラスターまたは AKS ノード プールのスケーリング
| クラスターの種類 | 症状: サブネット内の空き IP アドレスの数は... |
|---|---|
| Kubenet | 要求された新しいノードの数。 |
| Azure CNI |
パラメーターのノード プール値--max-pod要求される新しいノードの数。 |
| Azure CNI オーバーレイ | 要求された新しいノードの数。 (自動スケーラーを使用するノード プールでは、ノードの数は --max-count パラメーターの値です)。 |
操作 2: AKS クラスターまたは AKS ノード プールのアップグレード
| クラスターの種類 | 症状: サブネット内の空き IP アドレスの数は... |
|---|---|
| Kubenet | アップグレードする必要があるバッファー ノードの数。 |
| Azure CNI | アップグレードする必要があるバッファー ノードの数times--max-pod パラメーターのノード プールの値です。 |
| Azure CNI オーバーレイ | アップグレードする必要があるバッファー ノードの数。 (自動スケーラーを使用するノード プールでは、ノードの数は --max-count パラメーターの値です)。 |
既定では、AKS クラスターは最大サージ (アップグレード バッファー) 値を 1 (1) に設定します。 ただし、ノード プールの最大サージ値を設定することで、このアップグレード動作をカスタマイズできます。 このアクションにより、アップグレードを完了するために必要な使用可能な IP アドレスの数が増えます。
操作 3: AKS クラスターの作成または AKS ノード プールの追加
| クラスターの種類 | 症状: サブネット内の空き IP アドレスの数は... |
|---|---|
| Kubenet | 要求されたノードの数。 |
| Azure CNI |
パラメーターのノード プール値--max-pod要求されるノードの数。 |
| Azure CNI オーバーレイ | 要求されたノードの数。 (自動スケーラーを使用するノード プールでは、ノードの数は --max-count パラメーターの値です)。 |
原因
クラスターで使用されているサブネットには、リソースの割り当てを成功させるために、クラスレスドメイン間ルーティング (CIDR) アドレス空間内に使用可能な IP アドレスがなくなりました。
| クラスターの種類 | 要件 |
|---|---|
| Kubenet | クラスター内の各 ノード に十分な IP 領域 |
| Azure CNI | クラスター内の各 ノードとポッド に十分な IP 領域 |
| Azure CNI オーバーレイ | クラスター内の各 ノード に十分な IP 領域 |
ポッドに IP アドレスを割り当てるための Azure CNI の 設計の詳細。
ソリューション
既存のノード プール内のサブネットの CIDR アドレス空間を更新しようとしても、現在サポートされていません。 ワークロードを大規模なサブネット内の新しいノード プールに移行するには、次の手順に従います。
既存のサブネットよりも広い CIDR アドレス範囲を含むサブネットをクラスター仮想ネットワークに作成します。 クラスターに合わせてサブネットのサイズを適切に設定する方法については、「クラスターのプラン IP アドレス指定を参照してください。
パラメーターと共に
--vnet-subnet-idコマンドを実行して、新しいサブネットにノード プールを作成します。古いノード プール内のノードをドレインして、ワークロードを新しいノード プールに移行します。 AKS ワーカー ノードを安全にドレインする方法については、「 Safely Drain a Node」を参照してください。
az aks nodepool delete コマンドを実行して、元のノード プールを削除します。
サードパーティのお問い合わせ窓口に関する免責事項
サードパーティのお問い合わせ窓口に関する情報は、ユーザーの便宜のために提供されているものであり、 この連絡先情報は、予告なしに変更される可能性があります。 マイクロソフトは、掲載されている情報に対して、いかなる責任も負わないものとします。
お問い合わせはこちらから
ご質問がある場合は、 Azure コミュニティサポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。