本页面介绍如何删除 GKE On-Prem 用户集群。
概览
GKE On-Prem 支持通过 gkectl
删除用户集群。如果集群运行状况不佳(例如,如果控制层面无法访问或集群无法引导),请参考删除运行状况不佳的用户集群。
删除用户集群
要删除用户集群,请运行以下命令:
gkectl delete cluster \ --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] \ --cluster [CLUSTER_NAME]
其中,[ADMIN_CLUSTER_KUBECONFIG] 是管理员集群的 kubeconfig 文件,[CLUSTER_NAME] 是您要删除的用户集群的名称。
已知问题
在版本 1.1.2 中,如果您使用的是 vSAN 数据存储区,有一个已知问题会导致出现此错误:
Error deleting machine object xxx; Failed to delete machine xxx: failed to ensure disks detached: failed to convert disk path "" to UUID path: failed to convert full path "ds:///vmfs/volumes/vsan:52ed29ed1c0ccdf6-0be2c78e210559c7/": ServerFaultCode: A general system error occurred: Invalid fault
请参阅版本说明中的解决方法。
删除运行状况不佳的用户集群
如果集群运行状况不佳,您可以传入 --force
删除用户集群。如果用户集群的控制层面无法访问、集群未能引导,或者 gkectl delete cluster
无法删除集群,该集群可能运行状况不佳。
要强制删除集群,请运行以下命令:
gkectl delete cluster \ --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] \ --cluster [CLUSTER_NAME] \ --force
其中,[ADMIN_CLUSTER_KUBECONFIG] 是管理员集群的 kubeconfig 文件,[CLUSTER_NAME] 是您要删除的用户集群的名称。
清理外部资源
在强制删除后,F5 或 vSphere 中可能会有一些剩余资源。以下部分介绍如何清理这些剩余资源。
在 vSphere 中清理用户集群的虚拟机
要验证用户集群的虚拟机是否已删除,请执行以下步骤:
- 从 vSphere Web Client 左侧的 Navigator 菜单中,点击 Hosts and Clusters 菜单。
- 找到您的资源池。
- 验证是否有虚拟机以您的用户集群名称作为前缀。
如果有剩余的用户集群虚拟机,请对每个虚拟机执行以下步骤:
- 在 vSphere Web Client 中,右键点击用户集群虚拟机,然后选择 Power > Power Off。
- 关停虚拟机后,右键点击虚拟机,然后选择 Delete from Disk。
清理用户集群的 F5 分区
如果用户集群的分区中还有剩余条目,请执行以下步骤:
- 在 F5 BIG-IP 控制台的右上角,切换到您要清理的用户集群分区。
- 依次选择 Local Traffic > Virtual Servers > Virtual Server List。
- 在 Virtual Servers 菜单中,移除所有虚拟 IP 地址。
- 选择 Pools,然后删除所有池。
- 选择 Nodes,然后删除所有节点。
完成操作后
在 gkectl
删除完用户集群后,您可以删除用户集群的 kubeconfig。
问题排查
如需了解详情,请参阅问题排查。
使用 gkectl
诊断集群问题
使用 gkectl diagnose
命令识别集群问题并与 Google 共享集群信息。请参阅诊断集群问题。
默认日志记录行为
对于 gkectl
和 gkeadm
,使用默认日志记录设置便已足够:
-
默认情况下,日志条目的保存方式如下:
- 对于
gkectl
,默认日志文件为/home/ubuntu/.config/gke-on-prem/logs/gkectl-$(date).log
,该文件与运行gkectl
的本地目录中的logs/gkectl-$(date).log
文件进行符号链接。 - 对于
gkeadm
,默认日志文件是运行gkeadm
的本地目录中的logs/gkeadm-$(date).log
。
- 对于
- 所有日志条目都会保存在日志文件中,即使它们不输出到终端(当
--alsologtostderr
为false
时)也是如此。 -v5
详细程度(默认)涵盖支持团队所需的所有日志条目。- 日志文件还包含已执行的命令和失败消息。
我们建议您在需要帮助时将日志文件发送给支持团队。
为日志文件指定非默认位置
要为 gkectl
日志文件指定非默认位置,请使用 --log_file
标志。您指定的日志文件不会与本地目录进行符号链接。
要为 gkeadm
日志文件指定非默认位置,请使用 --log_file
标志。
在管理员集群中查找 Cluster API 日志
如果虚拟机在管理员控制层面启动后无法启动,您可以通过在管理员集群中检查 Cluster API 控制器的日志来尝试进行调试:
在
kube-system
命名空间中找到 Cluster API 控制器 pod 的名称,其中 [ADMIN_CLUSTER_KUBECONFIG] 是管理员集群的 kubeconfig 文件的路径:kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system get pods | grep clusterapi-controllers
打开 pod 的日志,其中 [POD_NAME] 是 pod 的名称。您可以选择使用
grep
或类似工具来搜索错误:kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system logs [POD_NAME] vsphere-controller-manager