K8S集群删除与添加节点(含报错解决方法)

一、删除node节点

1、先查看一下这个node节点上的pod信息

kubectl get nodes

2、驱逐这个node节点上的pod

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

3、删除这个node节点

kubectl delete nodes node01

4、然后在node06这个节点上执行如下命令:

kubeadm reset

systemctl stop kubelet

systemctl stop docker

rm -rf /var/lib/cni/

rm -rf /var/lib/kubelet/*

rm -rf /etc/cni/

ifconfig cni0 down

ifconfig flannel.1 down

ifconfig docker0 down

ip link delete cni0

ip link delete flannel.1

systemctl start docker

systemctl start kubelet

如果不做上面的操作的话会导致这个节点上的pod无法启动,具体报错信息为:networkPlugin cni failed to set up pod "alertmanager-main-1_monitoring" network: failed to set bridge ad has an IP address different from 10.244.5.1/24 ,意思是已经集群网络cni已经有一个不同于10.244.51.1/24 的网络地址,所以需要执行上述命令重置节点网络。

二、重新加入这个node节点

 节点加入集群的命令格式:kubeadm join --token : --discovery-token-ca-cert-hash sha256: 

由于默认token的有效期为24小时,当过期之后,该token就不可用了,解决方法如下:

重新生成新的token ==> kubeadm token create 

1.查看当前的token列表

kubeadm token list

2.重新生成新的token

kubeadm token create

3.再次查看当前的token列表

kubeadm token list

4.获取ca证书sha256编码hash值

openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'

5.节点加入集群

kubeadm join 39.96.46.96:6443 --token 369tcl.oe4punpoj9gaijh7(**新的token**) --discovery-token-ca-cert-hash sha256:7ae10591aa593c2c36fb965d58964a84561e9ccd416ffe7432550a0d0b7e4f90(**ca证书sha256编码hash值**) 

再次在master节点查看node发现已经加入到集群了。

posted @   GodsY  阅读(250)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示