排解叢集建立作業的問題


本頁說明如何解決在 Google Kubernetes Engine (GKE) 中建立叢集時發生的問題。

如要解決 Kubernetes 叢集的一般問題,請參閱 Kubernetes 說明文件中的「疑難排解叢集」一節。

錯誤:違反限制條件 constraints/compute.vmExternalIpAccess

嘗試建立公開 GKE 叢集時,可能會發生類似下列的錯誤:

Constraint constraints/compute.vmExternalIpAccess violated for project

這項異動只會影響公開 GKE 叢集,包括 GKE Autopilot 叢集。

建立公開 GKE 叢集時,構成叢集工作站節點的基礎 Compute Engine VM 會指派外部 IP 位址。如果您將機構政策限制 constraints/compute.vmExternalIpAccess 設為 Deny All,或在機構、資料夾或專案層級將外部 IP 位址限制為特定 VM 執行個體,則政策會禁止 GKE 工作站節點取得外部 IP 位址,導致叢集建立失敗。

如要尋找叢集建立作業的記錄,您可以使用記錄檔探索工具,透過類似下列的搜尋查詢,查看 GKE 叢集作業稽核記錄

resource.type="gke_cluster"
logName="projects/test-last-gke-sa/logs/cloudaudit.googleapis.com%2Factivity"
protoPayload.methodName="google.container.v1beta1.ClusterManager.CreateCluster"
resource.labels.cluster_name="CLUSTER_NAME"
resource.labels.project_id="PROJECT_ID"

更改下列內容:

  • CLUSTER_NAME:未建立的叢集名稱。
  • PROJECT_ID:您的專案 ID。

如要解決這個問題,請確認您嘗試建立 GKE 公用叢集的專案中,限制「constraints/compute.vmExternalIpAccess」的有效政策為「Allow All」。如要瞭解如何使用這項限制,請參閱將外部 IP 位址限制在特定 VM 執行個體

將限制設為 Allow All 後,請刪除失敗的叢集,然後建立新叢集。因為無法修復失敗的叢集,所以必須這麼做。

後續步驟