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