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

本文討論如何識別並解決 AKSCapacityError 當您建立或啟動 Microsoft Azure Kubernetes Service (AKS) 叢集時可能發生的錯誤。

徵兆

當您嘗試建立或啟動 AKS 叢集時,您會收到下列其中一個錯誤訊息:

程序代碼: AKSCapacityError

訊息 1:區域區域>目前<無法使用建立或啟動免費層叢集。 若要建立新的叢集,建議您使用替代區域,或建立付費層叢集。 如需所有 Azure 區域的清單,請瀏覽 https://aka.ms/aks/regions。 如您錯誤的詳細資訊,請瀏覽 https://aka.ms/akscapacityerror

訊息 2:區域區域>目前<無法使用建立新的叢集或啟動叢集。 若要建立新的叢集,建議您使用替代區域。 如需所有 Azure 區域的清單,請瀏覽 https://aka.ms/aks/regions。 如您錯誤的詳細資訊,請瀏覽 https://aka.ms/akscapacityerror

如果您接著嘗試在該叢集未啟動之後執行作業,您會收到下列錯誤訊息:

“statusCode”: “InternalServerError”,

“serviceRequestId”: null,

“statusMessage”: “{”code“: ”KubernetesAPICallFailed“, ”message“: ”API 呼叫 Kubernetes API Server 失敗。“}。

原因

您正嘗試在容量有限的區域中部署叢集。

當您建立或啟動 AKS 叢集時,Microsoft Azure 會將計算資源配置給訂用帳戶。 您偶爾可能會因為特定區域中 Azure Kubernetes Service 的需求大幅成長而遇到 AKSCapacityError 錯誤。

錯誤 KubernetesAPICallFailed 訊息指出 AKS 叢集未啟動,而且沒有相關聯的控制平面。 因此,對 API 伺服器的呼叫失敗。 在此情況下,您必須重試啟動作業。

解決方法

解決方案 1:選取不同的區域

最簡單的和最快速的解決方案是嘗試部署到不同的區域(例如 NorthEurope,而不是 WestEurope 或 UAENorth,而不是卡達Central)。 若要尋找附近的區域,請流覽 Azure 地理位置頁面

如果您已在要求區域中已有現有資源,但這是開發/測試案例中慣用的解決方案,則這種方法可能不可行。

解決方案 2:嘗試部署具有不同設定的叢集

裝載 AKS 受控叢集的基礎結構有不同的配置保留。 因此,AKS 的公用叢集容量可能比私人叢集多。 如果您嘗試建立私人叢集時發生 AKSCapacityError 錯誤,請嘗試改為建立公用叢集,反之亦然。

解決方案3:使用 Azure 企業版訂用帳戶

當容量執行不足時,我們會針對沒有 Enterprise 合約 (EA) 訂用帳戶的客戶限制免費層 AKS 叢集,以便為實際生產案例保留資源。 請確定您使用EA訂用帳戶來建立 AKS 叢集。

解決方案4:重試作業

當其他使用者停止或刪除其 AKS 叢集時,通常會回收容量。 因此,如果您稍後再重試作業,作業可能會成功。

其他相關資訊

  • 確保使用者的容量是Microsoft的首要任務,我們正在全天候工作,以達到此目標。 Azure 服務越來越受歡迎,強調我們需要更快速地擴大基礎結構。 考慮到這一點,我們正在加速擴充,並改善我們的資源部署程式,以響應強大的客戶需求。 我們也會每月新增大量的計算基礎結構。

    我們已找出數種方法來改善在高資源使用量情況下的負載平衡方式,以及如何觸發所需資源的及時部署。 此外,我們正在大幅增加我們的能力,並將繼續規劃所有區域的強勁需求。 本 2021 年 9 月的 Azure 部落格文章 討論我們針對提供彈性雲端供應鏈而做出的改進。

  • AKS 叢集建立問題的一般疑難解答

與我們連絡,以取得說明

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