この記事では、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) クラスターの IP アドレス計画に関するページを参照してください。
ソリューション
クラスター ノードを減らして、アップグレード用の IP アドレスを予約します。
スケールダウンがオプションではなく、仮想ネットワーク CIDR に十分な IP アドレスがある場合は、一次サブネットを持つノード プールを追加してみてください
- より大きなサブネット上の仮想ネットワークに新しいユーザー ノード プールを追加します。
- 元のノード プールをシステム ノード プールの種類に切り替えます。
- ユーザー ノード プールをスケールアップします。
- 元のノード プールをスケールダウンします。
詳細情報
お問い合わせはこちらから
ご質問がある場合は、 Azure コミュニティサポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。