AKS クラスターのアップグレード中の "SubnetIsFull" エラー コードのトラブルシューティング
この記事では、Azure Kubernetes Service (AKS) クラスターをアップグレードしようとしたときに発生する "SubnetIsFull" エラーを特定して解決する方法について説明します。
エラー メッセージの例を次に示します。
Kubernetes サービス 'NAME' のノード プール <エージェント プール名>>の<スケーリングに失敗しました。 エラー: VMSSAgentPoolReconciler の再試行に失敗しました:Code='SubnetIsFull' Message='<SUBNET NAME>\ とアドレス プレフィックス <PREFIX>\ には、IP アドレスに対する十分な容量がありません。 Details=[]
前提条件
この記事では、Azure CLI バージョン 2.0.65 以降のバージョンが必要です。 バージョン番号を見つけるには、 を実行します az --version
。 Azure CLI をインストールまたはアップグレードする必要がある場合は、「 Azure CLI をインストールする方法」を参照してください。
アップグレード プロセスの詳細については、「Azure Kubernetes Service (AKS) クラスターのアップグレード」の「AKS クラスターのアップグレード」セクションを参照してください。
現象
AKS クラスターのアップグレードが失敗し、"SubnetIsFull" というエラー メッセージが表示されます。
原因
このエラーは、クラスターに新しいノードを作成するのに十分な IP アドレスがない場合に発生します。
アップグレードまたはスケーリング操作を行う予定の場合は、必要な IP アドレスの数を考慮してください。 クラスターで構成した IP アドレス範囲が固定数のノードのみをサポートしている場合、アップグレードまたはスケーリング操作は失敗します。 詳細については、「Azure Kubernetes Service (AKS) で Azure CNI ネットワークを構成する」の「クラスターの IP アドレス指定を計画する」セクションを参照してください。
ソリューション
アップグレードの IP アドレスを予約するようにクラスター ノードを減らします。
スケールダウンがオプションではなく、仮想ネットワーク CIDR に十分な IP アドレスがある場合は、 一意のサブネットを持つノード プールを追加してみてください。
- より大きなサブネット上の仮想ネットワークに新しいユーザー ノード プールを追加します。
- 元のノード プールをシステム ノード プールの種類に切り替えます。
- ユーザー ノード プールをスケールアップします。
- 元のノード プールをスケール ダウンします。
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。