【Kubernetes】云原生小技巧 32 之 kubeadm reset 命令

41 阅读1分钟

kubeadm reset 是一个用于重置 Kubernetes 集群的命令,会清除集群状态,删除所有与 K8s 相关的配置文件和组件,并将节点恢复到未加入集群的状态,在集群维护过程中使用频率很高,一起来看看如何使用吧!

1、使用场景

  • 重置集群: 当集群出现严重问题,需要重新初始化时
  • 升级测试: 在进行版本升级或配置变更前,确保能恢复到干净状态
  • 节点迁移: 如果需要将节点从一个集群移动到另一个集群
  • 清理环境: 在学习或实验过程中,想快速清理环境

2、示例

## 重置集群
# 注意:执行 kubeadm reset 将不可逆转,会导致丢失现有的集群状态和数据,因此务必做好备份
# 1、首先运行 kubeadm reset
# 2、执行命令后,会看到提示确认是否要继续,输入 y 确认
# 3、(可选)根据需要手动删除网络插件(如 Calico, Flannel)生成的 CNI 目录、证书和配置文件
# 4、最后清理 iptables 规则
kubeadm reset
iptables -F
iptables -t nat -F

3、常见参数

  • --cri-socket:指定用于 K8s 的容器运行时接口 (Container Runtime Interface) 套接字的路径,不同的容器运行时可能会影响行为
kubeadm reset --cri-socket=/run/containerd/containerd.sock
  • --force:若要强制重置而不提示用户确认,可以使用该选项(常用于自动化脚本)
kubeadm reset --force
  • --cert-dir:指定证书存放路径,默认为 /etc/kubernetes/pki,若使用自定义证书位置,则需修改
kubeadm reset --cert-dir=/custom/cert/path