共用方式為


針對 SubnetIsFull 錯誤碼進行疑難解答

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

必要條件

徵兆

當您試著調整 AKS 叢集時,會收到下列錯誤訊息:

“code”: “SubnetIsFull”

“message”: “子網 <子網名稱> 與地址前綴 <subnet-prefix> 的子網名稱沒有足夠的容量供 <new-ip-count> IP 位址使用。

原因

若要將節點新增至 AKS 叢集(相應放大),您必須從部署節點集區的子網使用更多 IP 位址。 成功完成叢集調整作業所需的新IP位址數目,會根據叢集所使用的網路外掛程式而有所不同。 如需這些網路模型下如何配置IP位址的相關信息,請參閱 AKS中應用程式的網路概念。

注意

Azure 會為每個子網保留五個 IP 位址。 子網中的第一個位址是用於網路標識符,後面接著 Azure 內部使用的三個位址。 子網中的最後一個位址會保留給廣播封包。 如需詳細資訊,請參閱在這些子網路內使用 IP 位址是否有任何限制?

解決方案

目前不支援嘗試更新子網的無類別網路上由 (CIDR) 位址空間。 若要將工作負載移轉至較大子網中的新節點集區,請遵循下列步驟:

  1. 在叢集虛擬網路中建立子網,其中包含比現有子網更大的 CIDR 位址範圍。 如需如何適當調整叢集子網大小的資訊,請參閱 規劃叢集的IP位址。

  2. 藉由執行 az aks nodepool add 命令與 參數,在新的子網上建立節點集區 --vnet-subnet-id

  3. 將工作負載移轉至新的節點集區,方法是清空舊節點集區中的節點。 如需如何安全地清空 AKS 背景工作節點的資訊,請參閱 安全地清空節點

  4. 執行 az aks nodepool delete 命令來刪除原始節點集區。

其他相關資訊

協力廠商連絡資訊免責聲明

Microsoft 提供協力廠商連絡資訊,以協助您尋找有關此主題的其他資訊。 此連絡資訊可能會變更而不另行通知。 Microsoft 不保證協力廠商連絡資訊的準確性。

與我們連絡,以取得說明

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