取消註冊叢集

本頁說明如何手動取消註冊叢集與 Google Cloud 車隊。手動取消註冊叢集後,系統會移除該叢集與機群之間的連線,但仍保留叢集。在 Google Cloud使用主控台或 gcloud CLI 刪除已註冊的 GKE 叢集時,系統也會刪除叢集的 Fleet 成員資格。 Google Cloud

您只能取消註冊 Google Cloud 和附加的第三方叢集。其他叢集類型無法取消註冊。

請注意,不建議在機群之間移動已註冊的叢集 (取消註冊後重新註冊),因為這麼做可能會引發非預期或不樂見的情況。舉例來說,工作負載的機群 Workload Identity 會變更,可能導致要求遭到封鎖和服務中斷。建議的做法是在要存放工作負載的機群中建立新叢集,再將工作負載從原有叢集移至新叢集。

取消註冊叢集

gcloud

取消註冊 GKE 叢集

這個指令只能用於取消註冊透過 gcloud container clusters updategcloud container clusters create 註冊的 GKE 叢集。

執行下列指令:

gcloud container clusters update CLUSTER_NAME --clear-fleet-project

CLUSTER_NAME 替換為要刪除的叢集名稱。

取消註冊 GKE 叢集 (舊版指令)

如果您是使用舊版 register 指令註冊叢集,請執行下列任一指令取消註冊:

gcloud container fleet memberships unregister [MEMBERSHIP_NAME] \
   --project=[PROJECT_ID] \
   --gke-uri=[GKE_URI]
gcloud container fleet memberships unregister [MEMBERSHIP_NAME] \
   --project=[PROJECT_ID] \
   --gke-cluster=[GKE_CLUSTER]

其中:

  • [PROJECT_ID] 是您的 Google Cloud 專案 ID。瞭解如何找到這個值
  • [MEMBERSHIP_NAME] 是對應至叢集的成員資格名稱。如要列出 Hub 上的所有會員資格,請執行:gcloud container fleet memberships list
  • [GKE_URI] 是 GKE 叢集的 URI,例如:'https://container.googleapis.com/projects/my-project/locations/us-central1-a/clusters/my-cluster'。您可以執行 gcloud container clusters list --uri 取得 URI。 系統會驗證提供的 URI,確認其對應至有效的 GKE 叢集。
  • [GKE_CLUSTER] 是 GKE 叢集的 location/name。位置可以是可用區或區域,例如:us-central1-a/my-cluster

取消註冊附加叢集

以下操作說明適用於使用最新版附加叢集功能註冊的叢集。如果叢集是使用這項功能的舊版附加,請使用下一節中的舊版指令。

取消註冊附加叢集 (舊版指令)

如果您是使用上一代連結的叢集註冊叢集,請執行下列指令取消註冊:

gcloud container fleet memberships unregister [MEMBERSHIP_NAME] \
   --project=[PROJECT_ID] \
   --context=[KUBECONFIG_CONTEXT] \
   --kubeconfig=[KUBECONFIG_PATH]

其中:

  • [PROJECT_ID] 是您的 Google Cloud 專案 ID。瞭解如何找到這個值
  • [MEMBERSHIP_NAME] 是對應至叢集的成員資格名稱。如要取得 Hub 上的所有成員清單,請執行: gcloud container fleet memberships list
  • [KUBECONFIG_PATH] 是您儲存 kubeconfig 的本機路徑,其中包含叢集檔案的項目。如果已設定該環境變數,此值預設為 $KUBECONFIG,否則預設為 $HOME/.kube/config
  • [KUBECONFIG_CONTEXT] 為叢集的內容,因為其出現在 kubeconfig 檔案中。您可以執行 kubectl config current-context,透過指令列取得此值。

控制台

取消註冊 GKE 叢集 Google Cloud

如要取消註冊 GKE 叢集,請按照下列步驟操作:

  1. 前往「GKE Clusters」(GKE 叢集) 頁面。這個頁面會顯示所有叢集。

    前往 GKE 叢集頁面

  2. 在清單中,按一下要取消註冊的叢集旁的「Actions」(動作)

  3. 在「動作」選單中選取「取消註冊」

  4. 在顯示的對話方塊中輸入叢集名稱,然後按一下「取消註冊」確認操作。

取消註冊已連結的第三方叢集

如要取消註冊附加叢集,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「Google Kubernetes Engine clusters overview」(Google Kubernetes Engine 叢集總覽) 頁面。

    前往 GKE 叢集

  2. 選取叢集所在的 Google Cloud 專案。

  3. 按一下要卸離的叢集名稱,然後選取側邊面板中的「查看更多詳細資料」

  4. 按一下視窗頂端附近的「刪除」

  5. 系統提示您確認時,請輸入叢集名稱,然後按一下「Confirm」(確認)

Terraform

如要取消註冊使用 Terraform 註冊的 GKE 叢集,請按照下列步驟操作:

從叢集的 google_container_cluster 資源設定中刪除下列區塊:

fleet {
      project = "FLEET_HOST_PROJECT""
    }

FLEET_HOST_PROJECT 是叢集註冊的 Google Cloud 專案 ID。

管理 Connect 代理程式

下列步驟僅適用於取消註冊附加叢集,這類叢集在註冊時會安裝 Connect 代理程式。

選用:驗證是否已刪除 Connect 代理程式命名空間

取消註冊叢集後,您可以驗證是否已經刪除 Connect Agent 所用的命名空間。這項設定僅適用於安裝 Connect 代理程式的註冊程序。如要這麼做,請執行下列指令:

kubectl get ns -l hub.gke.io/project

若這項指令沒有傳回任何輸出,表示已刪除該命名空間。

刪除 Connect 代理程式服務帳戶

如果您已為 Connect 代理程式建立服務帳戶,可以按照下列步驟刪除:

gcloud iam service-accounts delete [SERVICE_ACCOUNT_NAME]

取消註冊無法使用的叢集

如要取消註冊無法再存取的叢集,請執行下列步驟:

  1. 列出目前已註冊的叢集 (又稱成員資格):

    gcloud container fleet memberships list

    在指令輸出內容中,「Name」欄會列出已註冊叢集的成員名稱,「EXTERNAL_ID」欄則會列出 kube-system 命名空間的叢集 UID。

  2. 如要取消註冊無法使用的叢集,請執行下列指令:

    gcloud container fleet memberships delete [MEMBERSHIP_NAME]

    其中 [MEMBERSHIP_NAME] 是與叢集對應的成員資格名稱。