当你的k8s集群出现问题时,比如固定的ip改变了,此时需要重新进行初始化。

master

在master执行

kubeadm reset

(失败就加-f)

然后一路yes,成功后,执行kubeadm初始化命令

kubeadm init --kubernetes-version v1.20.11 --apiserver-advertise-address 192.168.1.113 --pod-network-cidr=10.244.0.0/16

注意上面的192.168.1.113替换为自己主机的ip,这里没有意外都会成功,注意,这时你如果直接kubectl get nodes连接失败,提示

Unable to connect to the server: dial tcp 192.168.1.109:6443: connect: no route to host

且连接到的ip还是集群之前的ip,这是因为kubeadm reset不会清除之前的config文件,这时需要手动清理,分别执行

sudo rm -rf $HOME/.kube/config

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id -u):$(id -g) $HOME/.kube/config

然后,重新kubectl get nodes你会发现master已经正常

work node

在ndoe节点执行

kubeadm reset

成功后,将master的kubeadm join命令复制到node节点并执行,成功后执行

kubectl get nodes

你会发现之前master一样的问题,同理,此时需要将master的config文件复制到node的/root/.kube/config下面

至此,大功告成。

删除节点

#首先驱逐要删除节点(假设节点名为k8s-node1)上的pods(master节点执行)

kubectl drain ubuntu --delete-local-data --force --ignore-daemonsets

#然后执行删除(master节点执行)

kubectl delete node ubuntu

#最后在删除的节点机器上执行

kubeadm reset

作者:_秦畅
链接:https://www.jianshu.com/p/2027b4aa2997
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

等有机会,再练习练习部署k8s,到时候好好整理整理文档,之前没写文档习惯。

Logo

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

更多推荐