本文說明如何識別及解決 ZonalAllocationFailed嘗試建立、部署或更新 Microsoft Azure Kubernetes Service (AKS) 叢集時可能發生的 、 AllocationFailed或 OverconstrainedAllocationRequest 錯誤。
先決條件
Azure CLI (選擇性),版本 2.0.59 或更新版本。 如果已安裝 Azure CLI,您可以使用
az --version來尋找版本號碼。
癥狀
當您嘗試建立 AKS 叢集時,您會收到下列錯誤訊息:
協調 VMSS 代理池錯誤:VMSSAgentPoolReconciler 嘗試重試失敗:
類別:內部錯誤;
SubCode:ZonalAllocationFailed;
相依性: Microsoft.Compute/VirtualMachineScaleSet;
OrginalError: Code=“ZonalAllocationFailed”
Message=“配置失敗。在此區域中,對於要求的 VM 大小,我們沒有足夠的容量。 若要深入瞭解如何改善配置成功的可能性,請參閱 https://aka.ms/allocation-guidance:
AKSTeam:NodeProvisioning
或者,當您嘗試升級或相應增加叢集時,您會收到下列錯誤訊息:
Code=“OverconstrainedAllocationRequest”
Message=“配置失敗。無法配置具有下列條件的 VM(s),因為條件太嚴格。 請移除一些限制,然後再試一次。
或者,當您在叢集中使用專用主機並嘗試建立或相應增加節點集區時,您會收到下列錯誤訊息:
Code=“AllocationFailed”
Message=“配置失敗。專用主機的 VM 配置失敗。請確定專用主機有足夠的容量,或嘗試配置其他地方。
原因 1:SKU 中的區域可用性有限
您正嘗試在特定 SKU 可用性有限的區域中部署、升級或擴充叢集。
解決方案 1:使用不同的 SKU、區域或區域
請嘗試下列一或多個方法:
- 使用不同的 SKU 重新部署相同區域中的叢集。
- 在該區域中的不同可用區重新部署叢集。
- 在不同的區域中重新部署叢集。
- 在不同的區域中建立新的節點集區,或使用不同的 SKU。
如需如何修正此錯誤的詳細資訊,請參閱 解決 SKU 無法使用的錯誤。
原因 2:虛擬機無法容納太多條件約束
如果您收到 OverconstrainedAllocationRequest 錯誤碼,Azure 計算平臺就無法配置新的虛擬機(VM),以容納所需的條件約束。 這些條件約束通常(但不總是)包含下列項目:
- VM 大小
- VM 產品規格
- 加速化網路
- 可用性區域
- 暫時磁碟
- 鄰近放置群組 (PPG)
解決方案 2:不要將鄰近放置群組與節點集區產生關聯
如果您收到 OverconstrainedAllocationRequest 錯誤碼,您可以嘗試建立與鄰近放置群組沒有關聯的新節點集區。
原因 3:沒有足夠的專用主機或容錯網域
您嘗試在容量有限或不符合容錯網域條件約束的專用主機群組中部署節點集區。
解決方案3:確定您的 AKS 節點/VMSS 有足夠的專用主機
根據 AKS 上的 ADH 容量規劃,您必須負責規劃足夠的專用主機,以跨越 AKS VMSS 所需的多個容錯網域。 例如,如果使用FaultDomainCount=2 建立 AKS VMSS,則至少需要不同容錯網域中的兩部專用主機(FaultDomain 0 和 FaultDomain 1)。
詳細資訊
確保使用者的容量是Microsoft的首要任務,我們正在全天候工作,以達到此目標。 Azure 服務越來越受歡迎,強調需要更快速地擴大基礎結構。 考慮到這一點,我們正在加速擴充,並改善我們的資源部署程式,以響應強大的客戶需求。 我們也會每月新增大量的運算基礎結構。
我們已找出數種方法,以改善在高資源使用量情況下的負載平衡方式,以及如何觸發所需資源的及時部署。 此外,我們正在大幅增加我們的產能,並將繼續配合所有區域的強勁需求進行規劃。 如需我們針對提供彈性雲端供應鏈而進行改善的詳細資訊,請參閱 透過彈性的雲端供應鏈提升可靠性。
參考資料
與我們連絡,以取得說明
如果您有疑問,可以詢問 Azure 社群支援。 您也可以向 Azure 意見反應社群提交產品意見反應。