針對 AKS 叢集升級期間的 「SubnetIsFull」 錯誤碼進行疑難解答

本文討論如何識別並解決當您嘗試升級 Azure Kubernetes Service (AKS) 叢集時所發生的「SubnetIsFull」錯誤。

以下是錯誤訊息的範例:

無法調整 Kubernetes 服務 'NAME' 中的節點集<區 AGENT 集區名稱>>。< 錯誤:VMSSAgentPoolReconciler 重試失敗:Code='SubnetIsFull' Message='<SUBNET NAME>\ with address prefix<>\ 沒有足夠的容量供 IP 位址使用。' Details=[]

必要條件

本文需要 Azure CLI 2.0.65 版或更新版本。 若要尋找版本號碼,請執行 az --version。 如果您必須安裝或升級 Azure CLI,請參閱 如何安裝 Azure CLI

For more detailed information about the upgrade process, see the "Upgrade an AKS cluster" section in Upgrade an Azure Kubernetes Service (AKS) cluster.

徵狀

AKS 叢集升級失敗,且您收到「SubnetIsFull」錯誤訊息。

原因

如果您的叢集沒有足夠的IP位址可建立新的節點,就會發生此錯誤。

當您打算執行升級或調整作業時,請考慮所需的IP位址數目。 如果您在叢集中設定的IP位址範圍只支援固定數目的節點,升級或調整作業將會失敗。 For more information, see the "Plan IP addressing for the cluster" section of Configure Azure CNI networking in Azure Kubernetes Service (AKS).

解決方案

減少叢集節點以保留升級的IP位址。

如果相應減少不是選項,而且您的虛擬網路 CIDR 有足夠的 IP 位址,請嘗試新增具有 唯一子網的節點集區:

  1. 在較大子網上的虛擬網路中新增用戶節點集區。
  2. 將原始節點集區切換至系統節點集區類型。
  3. 相應增加用戶節點集區。
  4. 相應減少原始節點集區。

與我們連絡,以取得說明

如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以將產品意見反應提交給 Azure 意應見反社群