k8s删除一个Node并重新加入集群
k8s删除一个节点使用以下命令
删除一个节点前,先驱赶掉上面的pod
![](https://img2018.cnblogs.com/blog/1337826/201908/1337826-20190808120318526-1050976345.png)
kubectl drain 172.17.3.51 --delete-local-data
然后我们来删除节点
kubectl delete node nodename
![](https://img2018.cnblogs.com/blog/1337826/201908/1337826-20190808120346112-998359207.png)
从上面看已经是删除掉该节点了
其实以上命令是通用的,可以进行任何资源的删除
kubectl delete type typename
type 是资源类型,可以是node, pod, rs, rc, deployment, service等等,typename是这个资源的名称
回到上面的情况,删除一个节点后,这个节点如果从新启动kubelet服务的话,在master节点还是可以看到的该节点的
![](https://img2018.cnblogs.com/blog/1337826/201908/1337826-20190808120408207-978167797.png)
如何进行有效彻底删除,并在该节点重新加入集群时候进行csr请求呢?
进入该节点
删除以下文件
![](https://img2018.cnblogs.com/blog/1337826/201908/1337826-20190808120430504-548535285.png)
以上这些文件是在Node上的kubelet启动后向master发出csr请求后通过后生成的文件,删除后,重新启动Kubelet就会重新发出csr请求,这样在master上重新通过csr请求就可以把该节点重新加入到集群里了,以上这些文件也会自动生成了。
![](https://img2018.cnblogs.com/blog/1337826/201908/1337826-20190808120449788-1717166485.png)
从新通过
![](https://img2018.cnblogs.com/blog/1337826/201908/1337826-20190808120511038-953248927.png)
从新看下集群节点
![](https://img2018.cnblogs.com/blog/1337826/201908/1337826-20190808120528733-905521036.png)
已经可以了。
参考下以下内容
![](https://img2018.cnblogs.com/blog/1337826/201908/1337826-20190808120540978-704816341.png)