針對 SubnetIsFull 錯誤碼進行疑難解答
本文討論如何識別並解決 SubnetIsFull
當您嘗試調整 Azure Kubernetes Service (AKS) 叢集Microsoft時所發生的錯誤。
必要條件
- Azure CLI (2.0.59 版或更新版本)
徵兆
當您試著調整 AKS 叢集時,會收到下列錯誤訊息:
“code”: “SubnetIsFull”
“message”: “子網 <子網名稱> 與地址前綴 <subnet-prefix> 的子網名稱沒有足夠的容量供 <new-ip-count> IP 位址使用。
原因
若要將節點新增至 AKS 叢集(相應放大),您必須從部署節點集區的子網使用更多 IP 位址。 成功完成叢集調整作業所需的新IP位址數目,會根據叢集所使用的網路外掛程式而有所不同。 如需這些網路模型下如何配置IP位址的相關信息,請參閱 AKS中應用程式的網路概念。
注意
Azure 會為每個子網保留五個 IP 位址。 子網中的第一個位址是用於網路標識符,後面接著 Azure 內部使用的三個位址。 子網中的最後一個位址會保留給廣播封包。 如需詳細資訊,請參閱在這些子網路內使用 IP 位址是否有任何限制?
解決方案
目前不支援嘗試更新子網的無類別網路上由 (CIDR) 位址空間。 若要將工作負載移轉至較大子網中的新節點集區,請遵循下列步驟:
在叢集虛擬網路中建立子網,其中包含比現有子網更大的 CIDR 位址範圍。 如需如何適當調整叢集子網大小的資訊,請參閱 規劃叢集的IP位址。
藉由執行 az aks nodepool add 命令與 參數,在新的子網上建立節點集區
--vnet-subnet-id
。將工作負載移轉至新的節點集區,方法是清空舊節點集區中的節點。 如需如何安全地清空 AKS 背景工作節點的資訊,請參閱 安全地清空節點。
執行 az aks nodepool delete 命令來刪除原始節點集區。
其他相關資訊
協力廠商連絡資訊免責聲明
Microsoft 提供協力廠商連絡資訊,以協助您尋找有關此主題的其他資訊。 此連絡資訊可能會變更而不另行通知。 Microsoft 不保證協力廠商連絡資訊的準確性。
與我們連絡,以取得說明
如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。