本页面介绍如何从 Google Cloud 队列组手动取消注册集群。当您手动取消注册集群时,集群与队列的连接将被移除,但集群会被保留。 使用 Google Cloud 控制台或 gcloud CLI 删除 Google Cloud 上已注册的 GKE 集群时,该集群的舰队成员资格也会一并删除。
您只能取消注册 Google Cloud 上的 GKE 集群以及关联的第三方集群。其他类型的集群无法取消注册。
请注意,不建议在舰队之间移动已注册的集群(取消注册然后重新注册),因为这可能会导致非预期或不希望的行为:例如,您的工作负载的舰队 Workload Identity 将发生变化,从而可能导致请求被阻止和服务中断。建议方法是在希望工作负载驻留在其中的舰队中创建新集群,然后将工作负载从旧集群移动到新集群。
取消注册集群
gcloud
取消注册 GKE 集群
此命令只能用于取消注册使用 gcloud container clusters update
或 gcloud 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 集群,请执行以下操作:
进入 GKE 集群页面。此页面会显示您的所有集群。
在列表中,点击要取消注册的集群旁边的
操作。在“操作”菜单中,选择取消注册。
在随即显示的对话框中,输入集群名称,然后点击取消注册以确认操作。
取消注册关联的第三方集群
如需取消注册关联集群,请执行以下操作:
在 Google Cloud 控制台中,进入 Google Kubernetes Engine 集群概览页面。
选择集群所在的 Google Cloud 项目。
点击您要分离的集群的名称,然后在侧边栏中选择查看更多详情。
点击窗口顶部附近的
删除。当系统提示您确认时,请输入集群的名称,然后点击确认。
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]
取消注册不可用的集群
如果要取消注册无法再访问的集群,请执行以下步骤:
列出当前已注册的集群(也称为成员资格):
gcloud container fleet memberships list
在命令输出中,
Name
列列出了已注册的集群的成员资格名称,EXTERNAL_ID
列列出了 kube-system 命名空间的集群的 UID。如需取消注册不可用的集群,请运行以下命令:
gcloud container fleet memberships delete [MEMBERSHIP_NAME]
其中,[MEMBERSHIP_NAME] 是与您的集群对应的成员资格名称。