AKS クラスターのアップグレード中の "SubnetIsFull" エラー コードのトラブルシューティング
この記事では、Azure Kubernetes Service (AKS) クラスターをアップグレードしようとしたときに発生する "SubnetIsFull" エラーを特定して解決する方法について説明します。
エラー メッセージの例を次に示します。
Kubernetes サービス '<NAME>' のノード プール <AGENT POOL 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 フィードバック コミュニティに製品フィードバックを送信することもできます。