删除一个节点前,先驱逐掉上面的pod
kubectl drain 10.21.13.32 --delete-local-data
然后我们来删除节点
kubectl delete node nodename
运行下面命令查看,可以看到已经删除掉该节点了。
kubectl get nodes
其实以上命令是通用的,可以进行任何资源的删除
kubectl delete type typename
type 是资源类型,可以是node, pod, rs, rc, deployment, service等等,typename是这个资源的名称。
注意:删除一个节点后,这个节点如果重新启动kubelet服务的话,在master节点还是可以看到的该节点的
如何进行有效彻底删除,并在该节点重新加入集群时候进行csr请求呢?
进入该节点,删除以下文件
以上这些文件是在Node上的kubelet启动后向master发出csr请求后通过后生成的文件,删除后,重新启动Kubelet就会重新发出csr请求,这样在master上重新通过csr请求就可以把该节点重新加入到集群里了,以上这些文件也会自动生成了。
从新通过
运行下面命令,查看集群节点
kubectl get nodes
已经加入了。
注:如果没有,则需要在清理下docker和kubelet的数据。默认在/var/lib/docker,/var/lib/kubelet