kubeadm reset

该命令尽力还原由 kubeadm initkubeadm join 所做的更改。

尽最大努力还原通过 ‘kubeadm init’ 或者 ‘kubeadm join’ 操作对主机所作的更改

概要

尽最大努力还原通过 ‘kubeadm init’ 或者 ‘kubeadm join’ 操作对主机所作的更改

“reset” 命令执行以下阶段:

  1. preflight Run reset pre-flight checks
  2. update-cluster-status Remove this node from the ClusterStatus object.
  3. remove-etcd-member Remove a local etcd member.
  4. cleanup-node Run cleanup node.
  1. kubeadm reset [flags]

选项

—cert-dir string     默认值:”/etc/kubernetes/pki”

存储证书的目录路径。如果已指定,则需要清空此目录。

—cleanup-tmp-dir

清理 “/etc/kubernetes/tmp” 目录

—cri-socket string

要连接的 CRI 套接字的路径。如果为空,则 kubeadm 将尝试自动检测此值;仅当安装了多个CRI 或具有非标准 CRI 插槽时,才使用此选项。

—dry-run

不做任何更改;只输出将要执行的操作。

-f, —force

在不提示确认的情况下重置节点。

-h, —help

reset 操作的帮助命令

—ignore-preflight-errors strings

错误将显示为警告的检查列表;例如:’IsPrivilegedUser,Swap’。取值为 ‘all’ 时将忽略检查中的所有错误。

—kubeconfig string     默认值:”/etc/kubernetes/admin.conf”

与集群通信时使用的 kubeconfig 文件。如果未设置该标志,则可以在一组标准位置中搜索现有的 kubeconfig 文件。

—skip-phases strings

要跳过的阶段列表

从父命令继承的选项

—rootfs string

[实验] 指向 ‘真实’ 宿主机根文件系统的路径。

Reset 工作流程

kubeadm reset 负责从使用 kubeadm initkubeadm join 命令创建的文件中清除节点本地文件系统。 对于控制平面节点,reset 还从 etcd 集群中删除该节点的本地 etcd Stacked 部署的成员。

kubeadm reset phase 可用于执行上述工作流程的各个阶段。 要跳过阶段列表,你可以使用 --skip-phases 参数,该参数的工作方式类似于 kubeadm joinkubeadm init 阶段运行器。

外部 etcd 清理

如果使用了外部 etcd,kubeadm reset 将不会删除任何 etcd 中的数据。这意味着,如果再次使用相同的 etcd 端点运行 kubeadm init,你将看到先前集群的状态。

要清理 etcd 中的数据,建议你使用 etcdctl 这样的客户端,例如:

  1. etcdctl del "" --prefix

更多详情请参考 etcd 文档

接下来

  • 参考 kubeadm init 来初始化 Kubernetes 主节点。
  • 参考 kubeadm join 来初始化 Kubernetes 工作节点并加入集群。