1、master上驱逐节点k8s-node03

master驱逐、删除节点

kubectl drain k8s-node03 --delete-emptydir-data --force --ignore-daemonsets
kubectl delete node k8s-node03

删除节点后,需要在k8s-node03节点上进行以下操作,否则会影响后期该节点加入集群

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

2、k8s-node03重新加入集群

master节点执行:

kubeadm token create --print-join-command

node节点加入集群

kubeadm join xxxxxxxx

3、重装k8s-node03的Kubernetes

3.1 卸载Kubernetes

sudo systemctl stop kubelet
sudo systemctl stop kube-proxy
sudo kubeadm reset
sudo yum remove -y kubeadm kubectl kubelet kubernetes-cni
sudo rm -rf /etc/kubernetes/
sudo rm -rf /var/lib/etcd/
sudo rm -rf /var/lib/kubelet/*
sudo rm -rf /var/run/kubernetes/
sudo rm -rf /etc/cni/net.d/

执行下面的指令看看是否存在其他slice。

systemctl | grep kube

如果有slice,执行指令删除slice

systemctl kill --signal=SIGKILL kubelet
sudo rm -rf /sys/fs/cgroup/*/kubepods/

重启机器

reboot

3.2 安装Kubernetes

参考文章:
如何完整部署一套k8s-v.1.28.0版本的集群

注:

1、每台机器需要安装cni-plugins,见如何完整部署一套k8s-v.1.28.0版本的集群8.1、下载cni插件
2、驱逐节点再加入集群,如果节点的状态一直是NotReady,可能是缓存的问题,建议卸载Kubernetes再重新安装。(debug花了2天还没解决,重装立马就解决,很大原因是缓存文件没有清理干净)

Logo

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

更多推荐