平滑删除k8s node节点

k8s集群投入使用后,由于缩容或者其他原因导致需要删除节点,可以通过以下步骤避免对应用造成影响。
首先,查看目前的集群情况

> kubectl get no 
NAME       STATUS   ROLES    AGE    VERSION
b-master   Ready    master   168m   v1.16.1
b-node1    Ready    <none>   165m   v1.16.1
b-node2    Ready    <none>   165m   v1.16.1

现在要删除b-node2,具体操作如下:

  1. 先执行以下命令将b-node2中的pod驱逐到别的可用节点上。
kubectl drain b-node2 --delete-local-data --force --ignore-daemonsets
  1. 删除节点
kubectl delete node b-node2
  1. 此时再查看集群节点信息
> kubectl get no 
NAME       STATUS   ROLES    AGE    VERSION
b-master   Ready    master   168m   v1.16.1
b-node1    Ready    <none>   165m   v1.16.1

如果还需要删除节点上的kubernetes信息,需要在node节点上执行如下命令:

> 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
发布了48 篇原创文章 · 获赞 31 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_44723434/article/details/102469605