k8集群一键重置

一、Master 节点执行(你当前这台 k8s-master)

1. 一键重置集群核心组件

bash
 
运行
 
 
kubeadm reset -f
 
作用:停止控制平面组件、删除 etcd 数据、清除节点加入信息、删除集群证书。

2. 手动清理残留(防止旧配置干扰新安装)

bash
 
运行
 
 
# 删除kubectl配置文件
rm -rf $HOME/.kube
# 清空k8s系统目录、kubelet数据
rm -rf /etc/kubernetes /var/lib/kubelet /var/lib/etcd
# 清理容器运行时所有镜像/容器(containerd/docker二选一)
# containerd
crictl rm --all
# docker(如果用docker)
docker rm -f $(docker ps -aq)
# 清空旧网络iptables规则
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
ip6tables -F && ip6tables -t nat -F && ip6tables -t mangle -F && ip6tables -X
# 重启kubelet
systemctl restart kubelet
 

二、Node 节点(k8s_node2、k8s_node3)也要重置

每台 node 机器都执行一遍,清除和旧集群的绑定关系:
bash
 
运行
 
 
kubeadm reset -f
rm -rf $HOME/.kube /var/lib/kubelet
# 同样清理容器与防火墙规则
crictl rm --all
iptables -F && iptables -t nat -F && iptables -X
systemctl restart kubelet
 

三、重置后验证干净

执行下面命令,无输出代表清理干净:
bash
 
运行
 
 
ls /etc/kubernetes
crictl ps -a
kubectl get nodes
 

四、重置完成后,才能重新初始化

1. 先手动拉取测试

bash
 
运行
 
 
kubeadm config images pull \
--kubernetes-version v1.23.17 \
--image-repository registry.aliyuncs.com/google_containers
 

2. 完整初始化命令(替换仓库)

bash
 
运行
 
 
kubeadm init \
--apiserver-advertise-address=192.168.91.166 \
--pod-network-cidr=10.244.0.0/16 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.23.17




image