取消注册集群

本页面介绍如何从 Google Cloud 队列组手动取消注册集群。当您手动取消注册集群时,集群与队列的连接将被移除,但集群会被保留。 使用 Google Cloud 控制台或 gcloud CLI 删除 Google Cloud 上已注册的 GKE 集群时,该集群的舰队成员资格也会一并删除。

您只能取消注册 Google Cloud 上的 GKE 集群以及关联的第三方集群。其他类型的集群无法取消注册。

请注意,不建议在舰队之间移动已注册的集群(取消注册然后重新注册),因为这可能会导致非预期或不希望的行为:例如,您的工作负载的舰队 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 从命令行获取此值。

控制台

取消注册 Google Cloud 上的 GKE 集群

如需取消注册 GKE 集群,请执行以下操作:

  1. 进入 GKE 集群页面。此页面会显示您的所有集群。

    进入 GKE 集群页面

  2. 在列表中,点击要取消注册的集群旁边的 操作

  3. 在“操作”菜单中,选择取消注册

  4. 在随即显示的对话框中,输入集群名称,然后点击取消注册以确认操作。

取消注册关联的第三方集群

如需取消注册关联集群,请执行以下操作:

  1. 在 Google Cloud 控制台中,进入 Google Kubernetes Engine 集群概览页面。

    转到 GKE 集群

  2. 选择集群所在的 Google Cloud 项目。

  3. 点击您要分离的集群的名称,然后在侧边栏中选择查看更多详情

  4. 点击窗口顶部附近的 删除

  5. 当系统提示您确认时,请输入集群的名称,然后点击确认

Terraform

如需取消注册使用 Terraform 注册的 GKE 集群,请执行以下操作:

从集群的 google_container_cluster 资源配置中删除以下块:

fleet {
      project = "FLEET_HOST_PROJECT""
    }

FLEET_HOST_PROJECT 是集群注册到的 Google Cloud 项目 ID。

管理 Connect Agent

以下步骤仅适用于取消注册关联的集群(Connect Agent 在注册过程中安装在集群上)。

可选:验证 Connect Agent 命名空间是否已删除

取消注册集群后,您可以核实 Connect 代理使用的命名空间已经删除。这仅适用于安装 Connect Agent 的注册。为此,请运行以下命令:

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

如果此命令未返回任何输出内容,则表示命名空间已删除。

删除 Connect Agent 服务账号

如果您为 Connect Agent 创建了服务账号,则可以按如下方式将其删除:

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] 是与您的集群对应的成员资格名称。