一、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
