以kubeadm方式部署的k8s,当出现问题,排查解决的难度会非常大,如果是实验环境,直接进行集群重置即可,如果是生产环境,如果集群已经崩掉了,而且短时间时间内无法定位原因的情况的下,建议先备份好ETCD的数据,然后对生产k8s集群进行重置,以期业务能快速恢复。

1.执行重置

在每台节点机器上执行 kubeadm reset

kubeadm reset

在这里插入图片描述

2.删除$HOME/.kube

在master节点上执行 rm -rf $HOME/.kube命令

rm -rf $HOME/.kube

在这里插入图片描述

3.集群初始化

只需要在master节点上执行即可

kubeadm init --kubernetes-version=1.28.0 --apiserver-advertise-address=192.168.1.200 --pod-network-cidr=10.244.0.0/16 --image-repository registry.aliyuncs.com/google_containers

4.创建必要文件

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

5.把Node节点加入集群

kubeadm join 192.168.1.200:6443 --token cexxct.pvvfy19t7w59w85j \
        --discovery-token-ca-cert-hash sha256:3013aff45d18317bf5e533c6b727d3cfe2ab3bedf5b14ff668d8d878d45d9f2c 

在每台node节点上分别执行,记得把token 和 discovery-token-ca-cert-hash 换成自己的,如果是生产集群,把备份的edct数据拷贝到重置后etcd对应的文件夹中。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐