本頁說明如何使用 Google Cloud 控制台,調查建立 Google Distributed Cloud 使用者叢集時發生的問題。
GKE On-Prem API 是 Google Cloud 代管的 API,可讓您使用 Terraform 和標準Google Cloud 工具,管理內部部署叢集的生命週期。GKE On-Prem API 會在 Google Cloud的基礎架構中執行。Terraform、 Google Cloud 控制台和 Google Cloud CLI 都是 API 的用戶端,可透過 API 在資料中心建立、更新、升級及刪除叢集。如果您使用標準用戶端建立叢集,該叢集會註冊 GKE On-Prem API,這表示您可以使用標準用戶端管理叢集的生命週期 (部分情況除外)。
管理員叢集未顯示在「Cluster basics」(叢集基本資訊) 下拉式清單中
管理員叢集必須先向車隊註冊,才能在 Google Cloud 控制台中建立使用者叢集。如果 Google Cloud 控制台「叢集基本資訊」部分的下拉式清單中未顯示管理員叢集,表示管理員叢集未註冊,或註冊時使用了 gcloud container fleet memberships register
指令。這個 gcloud
指令無法正確註冊管理員叢集。
查看註冊狀態:
在 Google Cloud 控制台中,前往「Kubernetes Engine」 >「Clusters」(叢集) 頁面,然後選取您嘗試建立使用者叢集的 Google Cloud 專案。
如果管理員叢集未顯示在清單中,請參閱「註冊管理員叢集」。
如果清單中顯示管理員叢集 is,表示該叢集是使用
gcloud container hub memberships register
指令註冊。這個gcloud
指令無法正確註冊管理員叢集。
如要修正註冊問題,請完成下列步驟:
刪除管理員叢集的機群成員資格。
gcloud container fleet memberships delete ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=global
ADMIN_CLUSTER_NAME
:管理員叢集的名稱。PROJECT_ID
:車隊主專案的 ID。這是您在 Google Cloud 控制台中嘗試建立使用者叢集時選取的專案。
請按照「註冊管理員叢集」一文中的步驟,重新註冊叢集。
叢集建立錯誤
本節說明在Google Cloud 控制台中建立叢集時發生的一些錯誤。
資源已存在錯誤
建立使用者叢集失敗,並顯示類似下列的錯誤訊息:
Resource 'projects/1234567890/[...]/user-cluster1'
already exists
Request ID: 129290123128705826
這個錯誤訊息表示叢集名稱已有人使用。
如要修正這個問題,請刪除叢集再重新建立:
- 刪除叢集。
- 請使用不與現有叢集衝突的名稱,重新建立叢集。
反相依性群組錯誤
建立使用者叢集失敗,並顯示類似下列的錯誤訊息:
- Validation Category: VCenter
- [FATAL] Hosts for AntiAffinityGroups: Anti-affinity groups enabled with
available vsphere host number 1 less than 3, please add more vsphere hosts
or disable anti-affinity groups.
VMware Distributed Resource Scheduler (DRS) 反相依性規則需要 vSphere 環境中至少有 3 個實體主機。如要修正問題,請在叢集的「Cluster details」(叢集詳細資料) 頁面中,依下列步驟停用「Features」(功能) 部分的「Anti-affinity groups」(反親和性群組):
前往 Google Cloud 控制台的 GKE 叢集頁面。
選取使用者叢集所在的 Google Cloud 專案。
在叢集清單中,按一下叢集名稱,然後在「詳細資料」面板中按一下「查看詳細資料」。
在「功能」部分中,按一下「編輯」圖示
。取消勾選「啟用反相依性群組」,然後按一下「完成」。
Google Cloud 控制台會顯示「叢集狀態:變更進度」。按一下「顯示詳細資料」,即可查看資源狀態條件和狀態訊息。
IP 位址衝突錯誤
建立使用者叢集失敗,並顯示類似下列的錯誤訊息:
- Validation Category: Network Configuration
- [FAILURE] CIDR, VIP and static IP (availability and overlapping): user: user
cluster control plane VIP "10.251.133.132" overlaps with
example-cluster1/control plane VIP "10.251.133.132"
您無法在Google Cloud 控制台的「叢集詳細資料」頁面中,編輯「負載平衡器」部分中的「控制層 VIP」和「Ingress VIP」等欄位。如要修正 IP 位址衝突問題,請刪除並重新建立叢集:
- 刪除叢集。
- 使用與現有叢集不衝突的 IP 位址,重新建立叢集。
移除不正常的叢集
叢集可能因多種原因而進入不健康的狀態,例如:
- Connect 代理程式或地端環境的連線問題。
- 使用者叢集的管理員叢集已刪除,或管理員與使用者叢集之間有連線問題。
- 叢集的 VM 已刪除,但叢集尚未刪除。
如果控制台無法刪除叢集,請使用 gcloud CLI 指令從狀況不良的叢集刪除資源。 Google Cloud 如果您最近未更新 gcloud CLI,請執行下列指令來更新元件:
gcloud components update
接著刪除 Google Cloud 資源。
使用者叢集
刪除使用者叢集:
gcloud container vmware clusters delete USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --force \ --allow-missing \ --ignore-errors
更改下列內容:
USER_CLUSTER_NAME
:要刪除的使用者叢集名稱。PROJECT_ID
:叢集註冊的專案 ID。REGION
:與使用者叢集相關聯的 Google Cloud 位置。位置會顯示在控制台中。--force
標記會刪除含有節點集區的叢集。如果沒有--force
標記,您必須先刪除節點集區,然後再刪除叢集。如果找不到叢集,
--allow-missing
標記可讓指令繼續執行。如果管理員和使用者叢集無法連線,
--ignore-errors
旗標會移除 Google Cloud 資源。 部分 F5 或 vSphere 資源可能會保留下來。如要瞭解如何清除剩餘資源,請參閱清除資源。這個指令會刪除現有叢集,並從 Google Cloud中移除 GKE On-Prem API 和機群成員資格資源。
確認 GKE On-Prem API 資源已刪除:
gcloud container vmware clusters list \ --project=PROJECT_ID \ --location=-
設定
--location=-
時,表示要列出所有區域的所有叢集。如要縮小清單範圍,請將--location
設為特定區域。確認已刪除車隊成員資源:
gcloud container fleet memberships list \ --project=PROJECT_ID
管理員叢集
如果已在 GKE On-Prem API 中註冊管理員叢集,請取消註冊:
gcloud container vmware admin-clusters unenroll ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --allow-missing
更改下列內容:
ADMIN_CLUSTER_NAME
:管理員叢集的名稱。PROJECT_ID
:機群主機專案的 ID。REGION
: Google Cloud 區域。
如果找不到機群成員資格,
--allow-missing
標記會取消註冊叢集。這項指令會從 Google Cloud移除 GKE On-Prem API 資源。
從機群中移除叢集:
gcloud container fleet memberships delete ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=global
這個指令會從 Google Cloud移除機群成員資源。
確認 GKE On-Prem API 資源已刪除:
gcloud container fleet memberships delete ADMIN_CLUSTER_NAME --project=FLEET_HOST_PROJECT_ID
設定
--location=-
時,表示要列出所有區域的所有叢集。如要縮小清單範圍,請將--location
設為特定區域。確認已刪除車隊成員資源:
gcloud container fleet memberships list \ --project=PROJECT_ID
後續步驟
如需其他協助,請與 Cloud Customer Care 團隊聯絡。
如要進一步瞭解支援資源,包括下列項目,請參閱「取得支援」: