共用方式為


針對 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 意見反應社群提交產品意見反應。