使用 bmctl reset cluster
重置集群
如果集群未正确安装,您可以尝试通过重置集群将节点恢复为默认状态。重置集群会导致集群被删除。删除后,您可以在进行任何所需的配置更改后重新安装集群。
在本文档中,重置和删除可互换使用。
重置自行管理的集群
如需重置自行管理的集群(例如管理员集群),请发出以下命令:
bmctl reset --cluster CLUSTER_NAME
将 CLUSTER_NAME
替换为您要重置的集群的名称。
重置用户集群
您可以通过两种方式(分别使用 bmctl
或 kubectl
)删除或重置用户集群。建议使用 bmctl
来重置用户集群。
使用 bmctl
重置用户集群
运行以下命令以使用 bmctl
重置用户集群:
bmctl reset --cluster CLUSTER_NAME --admin-kubeconfig ADMIN_KUBECONFIG_PATH
替换以下内容:
CLUSTER_NAME
:要重置的用户集群的名称。ADMIN_KUBECONFIG_PATH
:关联管理员集群的kubeconfig
文件的路径。bmctl
支持使用--kubeconfig
作为--admin-kubeconfig
标志的别名。
使用 kubectl
删除用户集群
如需使用 kubectl
删除用户集群,您必须先删除集群对象,然后删除其命名空间。否则无法创建重置机器的作业,删除过程可能会无限期卡住。
要使用 kubectl
删除用户集群,请执行以下操作:
运行以下命令以删除集群对象:
kubectl delete cluster CLUSTER_NAME -n CLUSTER_NAMESPACE \ --kubeconfig ADMIN_KUBECONFIG_PATH
替换以下内容:
CLUSTER_NAME
:要删除的用户集群的名称。CLUSTER_NAMESPACE
:集群的命名空间。默认情况下,Anthos clusters on Bare Metal 的集群命名空间是以cluster-
开头的集群名称。例如,如果您将集群命名为test
,则命名空间的名称类似于cluster-test
。ADMIN_KUBECONFIG_PATH
:关联管理员集群的kubeconfig
文件的路径。
成功删除集群后,运行以下命令以删除命名空间:
kubectl delete namespace CLUSTER_NAMESPACE --kubeconfig ADMIN_KUBECONFIG_PATH
重置集群详情
无论集群类型为何,重置命令都适用于整个集群。您无法指定集群中的一部分节点。
bmctl cluster reset
命令的输出类似于以下示例:
bmctl reset --cluster cluster1
Creating bootstrap cluster... OK
Deleting GKE Hub member admin in project my-gcp-project...
Successfully deleted GKE Hub member admin in project my-gcp-project
Loading images... OK
Starting reset jobs...
Resetting: 1 Completed: 0 Failed: 0
...
Resetting: 0 Completed: 1 Failed: 0
Flushing logs... OK
在重置操作期间,bmctl
首先尝试删除 GKE Hub 成员资格注册,然后清理受影响的节点。 重置期间,anthos-system StorageClass
中的存储装载和数据也会被删除。
对于所有节点,bmctl
运行 kubeadm reset
,移除用于集群网络的隧道接口,并删除以下目录:
/etc/kubernetes
/etc/cni/net.d
/root/.kube
/var/lib/kubelet
对于负载均衡器节点,bmctl
还会执行以下操作:
- 停用
keepalived
和haproxy
服务。 - 删除
keepalived
和haproxy
的配置文件。
bmctl reset
命令预期集群配置文件位于当前工作目录中。默认情况下,路径如下所示:bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME.yaml
如果您在集群创建期间使用 --workspacel-dir
标志指定了其他目录,则必须在集群重置期间使用此标志指定工作目录。