本页面介绍如何手动删除 GKE On-Prem 用户集群。
准备工作
在删除用户集群之前,请确保已移除使用 PodDisruptionBudgets(PDB)的任何工作负载以及已放置在用户集群中的所有外部对象(如永久性卷)。
设置一个
KUBECONFIG
环境变量,使其指向您要删除的用户集群的 kubeconfig:export KUBECONFIG=[USER_CLUSTER_KUBECONFIG]
其中,[USER_CLUSTER_KUBECONFIG] 是用户集群的 kubeconfig 文件的路径。
取消注册用户集群
如果您的用户集群已注册到 Google Cloud,请手动取消注册。
删除集群对象
每个用户集群都有一个存储在管理员集群中的集群资源。如需手动删除用户集群,您可以删除其集群对象:
获取管理员集群中的所有集群对象,其中 [ADMIN_CLUSTER_KUBECONFIG] 是管理员集群的 kubeconfig 文件的路径:
kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] get cluster --all-namespaces
在命令输出中,查找以用户集群命名的集群对象。
删除集群:
kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] delete cluster [USER_CLUSTER_NAME] -n [USER_CLUSTER_NAMESPACE]
- [USER_CLUSTER_NAME] 是用户集群的名称。
- [USER_CLUSTER_NAMESPACE] 共享用户集群的名称。
再次运行本部分中的第一个命令,验证用户集群是否已移除。等待直到集群对象列表中的用户集群名称不再显示。
验证 F5 分区是否干净
CLI
通过运行以下命令来检查 VIP 地址是否已停用:
ping -c 1 -W 1 [F5_LOAD_BALANCER_IP]; echo $?
如果 VIP 地址已停用,该命令将返回 1
。
F5 界面
要检查是否已从 F5 界面中清理分区,请执行以下步骤:
- 点击右上角的 Partition 下拉菜单。选择用户集群的分区。
- 从左侧 Main 菜单,选择 Local Traffic > Network Map。Local Traffic Network Map 下方不应列出任何内容。
- 从 Local Traffic > Virtual Servers 中,选择 Nodes,然后选择 Nodes List。此处也不应列出任何内容。
如果还有任何条目,请从界面中手动删除。
清理用户集群的 F5 分区
如果用户集群的分区中还有任何条目,则从 F5 BIG-IP 控制台中:
- 在控制台的右上角,切换到分区以进行清理。
- 依次选择 Local Traffic > Virtual Servers > Virtual Server List
- 在 Virtual Servers 菜单中,移除所有虚拟 IP。
- 选择 Pools,然后删除所有池。
- 选择 Nodes,然后删除所有节点。
删除用户集群命名空间
要删除用户集群命名空间,请运行以下命令:
kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] delete ns [USER_CLUSTER_NAMESPACE]
然后,通过运行以下命令检查用户集群命名空间是否已删除:
kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] get namespaces
删除用户控制平面
要删除用户控制平面,您需要使用管理员集群的 kubeconfig 删除用户集群控制平面的 MachineDeployment 资源。
如需删除 MachineDeployment,请执行以下操作:
kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] delete machinedeployments -l kubernetes.googleapis.com/cluster-name=[USER_CLUSTER_NAME]
等待删除用户集群控制平面节点机器,然后再继续执行下一步骤。您可以通过运行以下命令来检查进度:
kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] get machines -l kubernetes.googleapis.com/cluster-name=[USER_CLUSTER_NAME]
删除 VMDK 文件
- 从 vSphere 网络客户端左侧的导航菜单中,点击存储菜单。
- 从数据中心列表中选择您的数据存储区。
- 在主窗格中,点击文件。搜索您的 VMDK 文件或在文件列表中找到该文件。
- 右键点击 VMDK 文件,然后选择删除文件。
完成操作后
在您删除管理员集群中的用户集群和所有用户集群相关对象后,请删除用户集群 kubeconfig。
问题排查
如需了解详情,请参阅问题排查。
使用 gkectl
诊断集群问题
使用 gkectl diagnose
命令识别集群问题并与 Google 共享集群信息。请参阅诊断集群问题。