k8s驱逐节点、重新加入、重装k8s
安装、卸载Kubernetes。node节点重新加入集群的操作。
·
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天还没解决,重装立马就解决,很大原因是缓存文件没有清理干净)
更多推荐
已为社区贡献1条内容
所有评论(0)