この記事では、Azure Kubernetes Service (AKS) クラスターをアップグレードしようとしたときに発生する "SubnetIsFull" エラーを特定して解決する方法について説明します。
エラー メッセージの例を次に示します。
Kubernetes サービス '<NAME>' のノード プール <AGENT POOL NAME>' をスケーリングできませんでした。 エラー: VMSSAgentPoolReconciler の再試行に失敗しました: Code='SubnetIsFull' Message='<SUBNET NAME>\ のアドレス プレフィックス <PREFIX>\ に IP アドレス用の十分な容量がありません。' 詳細=[]
[前提条件]
この記事では、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) クラスターの IP アドレス計画に関するページを参照してください。
解決策
クラスター ノードを減らして、アップグレード用の IP アドレスを予約します。
スケールダウンがオプションではなく、仮想ネットワーク CIDR に十分な IP アドレスがある場合は、 一意のサブネットを持つノード プールを追加してみてください。
- より大きなサブネット上の仮想ネットワークに新しいユーザー ノード プールを追加します。
- 元のノード プールをシステム ノード プールの種類に切り替えます。
- ユーザー ノード プールをスケールアップします。
- 元のノード プールをスケールダウンします。
詳細情報
お問い合わせはこちらから
ご質問がある場合は、 Azure コミュニティサポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。