k8s集群移除master再重新加入

网友投稿 352 2022-10-27

k8s集群移除master再重新加入

由于k8s master集群中的一台master2节点有问题需要替换,故需要把master2从集群中移除,然后找一台新机器替代master2重新加入集群。本文主要介绍移除一台master后再重新加入集群的方法。

从master集群移除master2节点

在master1上执行如下命令

# kubectl drain master2 --delete-local-data --force --ignore-daemonsets node/master2 already cordoned WARNING: ignoring DaemonSet-managed Pods: kube-system/calico-node-xcqp8, kube-system/kube-proxy-spclw, nginx-ingress/nginx-ingress-4g5x7 node/master2 drained # kubectl delete node master2 node "master2" deleted # kubectl get nodes NAME STATUS ROLES AGE VERSION master1 Ready master 203d v1.18.2 master3 Ready master 203d v1.18.2 work1 Ready 203d v1.18.2 work2 Ready 203d v1.18.2 work4 Ready 146d v1.18.2

重置master2上所有相关服务,在master2上执行:

# kubeadm reset [reset] Reading configuration from the cluster... [reset] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml' [reset] WARNING: Changes made to this host by 'kubeadm init' or 'kubeadm join' will be reverted. [reset] Are you sure you want to proceed? [y/N]:

master2节点重新加入master集群

需要在master1上重新生成相关的证书和token

# kubeadm init phase upload-certs --upload-certs I1203 20:05:19.588980 10742 version.go:252] remote version is much newer: v1.19.4; falling back to: stable-1.18 W1203 20:05:20.625646 10742 configset.go:202] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io] [upload-certs] Storing the certificates in Secret "kubeadm-certs" in the "kube-system" Namespace [upload-certs] Using certificate key: 322175270bfde7b12f18c933ead856c7c7a9a666d596e8d48e7650c1cab20a56 # kubeadm token create --print-join-command W1203 20:05:24.335760 10874 configset.go:202] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io] kubeadm join apiserver-lb:6443 --token o0d4f9.p7hrqt9nx3pyyfg4 --discovery-token-ca-cert-hash sha256:1f084d1ac878308635f1dbe8676bac33fe3df6d52fa212834787a0bc71f1db6d

在master2上执行初始化和加入master集群的命令

# kubeadm join apiserver-lb:6443 --token o0d4f9.p7hrqt9nx3pyyfg4 --discovery-token-ca-cert-hash sha256:1f084d1ac878308635f1dbe8676bac33fe3df6d52fa212834787a0bc71f1db6d --control-plane --certificate-key 322175270bfde7b12f18c933ead856c7c7a9a666d596e8d48e7650c1cab20a56

在master1上查看所有节点状态

# kubectl get nodes NAME STATUS ROLES AGE VERSION master1 Ready master 203d v1.18.2 master2 Ready master 21s v1.18.2 master3 Ready master 203d v1.18.2 work1 Ready 203d v1.18.2 work2 Ready 203d v1.18.2 work4 Ready 146d v1.18.2

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:USB4.0和雷电4接口的区别是什么
下一篇:springboot项目之相互依赖报错问题(基于idea)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~