站点图标 星露谷值班站长

kubernetes删除node节点

kubernetes 集群建立后如果想删除一个 node 节点应该怎么做那?

环境:kubeadm 安装集群

[root@node2 ~]# kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T20:14:41Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}

步骤如下,以我的集群为例

首先查看我的集群 node 数量

[root@node2 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
node2 Ready master 56d v1.11.0
node3 Ready <none> 56d v1.11.0
node4 Ready <none> 56d v1.11.0
node5 Ready <none> 56d v1.11.0

可以看到我目前拥有 4 个 node 节点,我现在删除 node5 节点

执行命令

kubectl drain node5 --delete-local-data --force --ignore-daemonsets

输入如下, 返回值是 0 所以我就没有管他

node/node5 cordoned
WARNING: Ignoring DaemonSet-managed pods: kube-flannel-ds-zmk9q, kube-proxy-8r5jl

执行删除 node 节点命令

kubectl delete node node5

输出如下

node "node5" deleted
[root@node2 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
node2 Ready master 56d v1.11.0
node3 Ready <none> 56d v1.11.0
node4 Ready <none> 56d v1.11.0

master 节点执行命令一共为 2 条,截图如下

可以看到, 删除 node5 节点后再次 get nodes 就没有 node5 节点了

上面两条命令执行完成后,在 node5 节点执行清理命令

在 master 上面删除 node 并不会清理 node5 上面运行的容器,需要在删除节点上面手动运行清理命令

重置所有 kubeadm 安装状态

kubeadm reset

按 y 重置状态, 重置后 docker ps 检查容器消失

退出移动版