本頁說明如何解決在 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
後,請刪除失敗的叢集,然後建立新叢集。因為無法修復失敗的叢集,所以必須這麼做。
後續步驟
如果無法在說明文件中找到問題的解決方法,請參閱「取得支援」一文,尋求進一步的協助, 包括下列主題的建議:
- 與 Cloud 客戶服務聯絡,建立支援案件。
- 在 StackOverflow 上提問,並使用
google-kubernetes-engine
標記搜尋類似問題,向社群尋求支援。你也可以加入#kubernetes-engine
Slack 頻道,取得更多社群支援。 - 使用公開問題追蹤工具回報錯誤或提出功能要求。