次の方法で共有


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 アドレスがある場合は、 一意のサブネットを持つノード プールを追加してみてください。

  1. より大きなサブネット上の仮想ネットワークに新しいユーザー ノード プールを追加します。
  2. 元のノード プールをシステム ノード プールの種類に切り替えます。
  3. ユーザー ノード プールをスケールアップします。
  4. 元のノード プールをスケール ダウンします。

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。