晓夏

YoungCheung

Zhang Sir's technical way

kubernetes驱逐并和加入node实操记录

浏览量:100


1、删除节点前先停止调度和驱逐pod

$ kubectl  cordon wx-oa-dangjian-ceshi.novalocal    #停止调度 
$ kubectl drain wx-oa-dangjian-ceshi.novalocal  --force --ignore-daemonsets --delete-local-data #驱逐pod


#恢复调度
$ kubectl  uncordon wx-oa-dangjian-ceshi.novalocal

2、删除节点

$ kubectl delete node wx-oa-dangjian-ceshi.novalocal

3、恢复节点

A、原节点恢复node直接重启kubelet

$ sudo systemctl restart kubelet

B、同节点恢复

需要删除文件

1、/etc/kubernetes/kubelet.kubeconfig
2、/etc/kubernetes/ssl/kubelet*

重启kubelet

$ sudo systemctl restart kubelet

通过csr

$ kubectl get csr | grep Pending | awk '{print $1}' | xargs kubectl certificate approve

4、新增node节点

拷贝并删除相关文件

scp -r /etc/kubernetes root@xxx:/etc/
scp -r /usr/lib/systemd/system/{kubelet,kube-proxy}.service  root@xxx:/usr/lib/systemd/system
scp -r /etc/kubernetes/ssl/ca.pem root@xxx:/etc/kubernetes/ssl

rm -f /etc/kubernetes/cfg/kubelet.kubeconfig 
rm -f /etc/kubernetes/ssl/kubelet*
注:这几个文件是证书申请审批后自动生成的,每个Node不同,必须删除

修改kubelet配置文件和设置开机自启动

vi /usr/lib/systemd/system/kubelet.service
 --hostname-override=k8s-master01
 
vi /etc/kubernetes/kube-proxy.yml
 hostnameOverride: k8s-master01

重启服务

$ sudo systemctl daemon-reload
$ sudo systemctl restart kubelet kube-proxy

批准证书申请

$ kubectl get csr | grep Pending | awk '{print $1}' | xargs kubectl certificate approve








神回复

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。