一、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. 先手动拉取测试(master)
bash
运行
kubeadm config images pull \
--kubernetes-version v1.23.17 \
--image-repository registry.aliyuncs.com/google_containers
v1.28.2
2.创建 ~/.kube/config (master)
# 1. 创建配置目录
mkdir -p $HOME/.kube
# 2. 复制管理员配置文件到当前用户目录
cp /etc/kubernetes/admin.conf $HOME/.kube/config
# 3. 修改文件权限(当前用户可读写)
chown $(id -u):$(id -g) $HOME/.kube/config
# 4. 验证 kubectl 是否能连接集群 kubectl get nodes

3. 完整初始化命令(替换仓库)(master)
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
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.28.2
注:master-ip:192.168.91.166

4. 部署 flannel(master)
# 部署 flannel
wget https://gitee.com/smallfa/k8s-in-mageedu-cloud/tree/master/flannel/kube-flannel.yml
kube-flannel.yml的image: 镜像有效地址 搜https://docker.aityp.com/ 进行替换

kubectl apply -f kube-flannel.yml

浙公网安备 33010602011771号