排解叢集建立作業的問題

Google Kubernetes Engine (GKE) 叢集建立期間發生失敗,可能會導致您無法佈建必要基礎架構。失敗的常見原因是違反constraints/compute.vmExternalIpAccess政策。請參閱這個頁面,排解並解決因這項組織政策而導致的叢集建立失敗問題。

這項資訊對於平台管理員和營運人員,或負責在Google Cloud 機構組織內建立及管理 GKE 叢集的其他使用者而言,非常重要。如要進一步瞭解我們在Google Cloud 內容中提及的常見角色和範例工作,請參閱「常見的 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 後,請刪除失敗的叢集,然後建立新叢集。因為無法修復失敗的叢集,所以必須這麼做。

後續步驟