本文討論如何解決 InsufficientSubnetSize 當您嘗試部署使用進階網路的 Azure Kubernetes Service (AKS) 叢集Microsoft時所發生的錯誤。 本文同時適用於 Kubernetes 叢集和 Azure 容器網路介面 (CNI) 叢集。
徵兆
錯誤 InsufficientSubnetSize 會在下列任何作業期間發生。 AKS診斷中也會發生此錯誤,這會主動探索子網大小不足等問題。
作業 1:調整 AKS 叢集或 AKS 節點集區
| 叢集類型 | 癥狀: 子網 中的免費IP位址數目小於... |
|---|---|
| Kubenet | 要求的新節點數目。 |
| Azure CNI | 要求 的新節點數目是 參數中的 --max-pod 節點集區值。 |
| Azure CNI 重疊 | 要求的新節點數目。 (在使用自動調整器的節點集區中,節點數目是 參數中的 --max-count 值。 |
作業 2:升級 AKS 叢集或 AKS 節點集區
| 叢集類型 | 癥狀: 子網 中的免費IP位址數目小於... |
|---|---|
| Kubenet | 必須升級的緩衝區節點數目。 |
| Azure CNI | 必須升級的緩衝區節點數目是 參數中的--max-pod節點集區值。 |
| Azure CNI 重疊 | 必須升級的緩衝區節點數目。 (在使用自動調整器的節點集區中,節點數目是 參數中的 --max-count 值。 |
根據預設,AKS 叢集會設定一個 (1) 的最大激增 (升級緩衝區) 值。 不過,您可以藉由設定節點集區的最大激增值來自定義此升級行為。 此動作會增加完成升級所需的可用IP位址數目。
作業 3:建立 AKS 叢集或新增 AKS 節點集區
| 叢集類型 | 癥狀: 子網 中的免費IP位址數目小於... |
|---|---|
| Kubenet | 要求的節點數目。 |
| Azure CNI | 要求 之節點數目是 參數中 --max-pod 節點集區值的時間。 |
| Azure CNI 重疊 | 要求的節點數目。 (在使用自動調整器的節點集區中,節點數目是 參數中的 --max-count 值。 |
原因
用於叢集的子網在其無類別網域間路由 (CIDR) 位址空間內不再有可用的 IP 位址,以成功指派資源。
| 叢集類型 | 需求 |
|---|---|
| Kubenet | 叢集中每個 節點 的足夠IP空間 |
| Azure CNI | 叢集中每個 節點和 Pod 的足夠 IP 空間 |
| Azure CNI 重疊 | 叢集中每個 節點 的足夠IP空間 |
深入瞭解 將IP位址指派給Pod的 Azure CNI 設計。
解決方案
目前不支援嘗試更新現有節點集區中的子網 CIDR 位址空間。 若要將工作負載移轉至較大子網中的新節點集區,請遵循下列步驟:
在叢集虛擬網路中建立子網,其中包含比現有子網更大的 CIDR 位址範圍。 如需如何適當調整叢集子網大小的資訊,請參閱 規劃叢集的IP位址。
藉由執行 az aks nodepool add 命令與 參數,在新的子網上建立節點集區
--vnet-subnet-id。將工作負載移轉至新的節點集區,方法是清空舊節點集區中的節點。 如需如何安全地清空 AKS 背景工作節點的資訊,請參閱 安全地清空節點。
執行 az aks nodepool delete 命令來刪除原始節點集區。
協力廠商連絡資訊免責聲明
Microsoft 提供協力廠商連絡資訊,以協助您尋找有關此主題的其他資訊。 此連絡資訊可能會變更而不另行通知。 Microsoft 不保證協力廠商連絡資訊的準確性。
與我們連絡,以取得說明
如果您有疑問,可以詢問 Azure 社群支援。 您也可以向 Azure 意見反應社群提交產品意見反應。