次の方法で共有


AKS クラスターのアップグレード中の SubnetIsFull エラー コードのトラブルシューティング

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

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

詳細情報

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

ご質問がある場合は、 Azure コミュニティサポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。