如果 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 叢集時,構成此叢集 worker 節點的基礎 Compute Engine VM 會指派外部 IP 位址。如果您設定組織政策限制 constraints/compute.vmExternalIpAccess,在組織、資料夾或專案層級將外部 IP 位址限制為特定 VM 執行個體Deny All,則政策會禁止 GKE worker 節點取得外部 IP 位址,導致叢集建立失敗。
如要尋找叢集建立作業的記錄,您可以使用Logs Explorer,透過類似下列的搜尋查詢,查看 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 後,請刪除失敗的叢集,並建立新叢集。這是必要步驟,因為無法修復失敗的叢集。
後續步驟
如果無法在文件中找到問題的解決方案,請參閱「取得支援」一文,取得進一步協助,包括下列主題的建議:
- 向 Cloud Customer Care 團隊申請開立支援案件。
- 在 StackOverflow 上提問,並使用
google-kubernetes-engine標記搜尋類似問題,向社群尋求支援。你也可以加入#kubernetes-engineSlack 頻道,取得更多社群支援。 - 使用公開 Issue Tracker 開啟問題或功能要求。