设置k8s中节点node的ROLES值
1. 现象
4个node节点有1个的ROLES是 看上去就很不协调
root@ks-master:~# kubectl get node
NAME STATUS ROLES AGE VERSION
ks-master Ready control-plane,master,worker 45d v1.21.5
ks-node1 Ready worker 45d v1.21.5
ks-node2 Ready worker 45d v1.21.5
ks-node3 Ready worker 25d v1.21.5
ks-node4 Ready <none> 9d v1.21.5
2. 解决方法
其实这个Roles就是一个标签,执行以下命令给ks-node4打上worker标签
kubectl label node ks-node4 kubernetes.io/role=worker
此时查看node的标签,ks-node4已经是worker
root@ks-master:~# kubectl label node ks-node4 kubernetes.io/role=worker
node/ks-node4 labeled
root@ks-master:~# kubectl get node
NAME STATUS ROLES AGE VERSION
ks-master Ready control-plane,master,worker 45d v1.21.5
ks-node1 Ready worker 45d v1.21.5
ks-node2 Ready worker 45d v1.21.5
ks-node3 Ready worker 25d v1.21.5
ks-node4 Ready worker 9d v1.21.5
master有3个标签,那应该怎么搞呢?
root@ks-master:~# kubectl label node ks-node4 node-role.kubernetes.io/node=
node/ks-node4 labeled
root@ks-master:~# kubectl get node
NAME STATUS ROLES AGE VERSION
ks-master Ready control-plane,master,worker 45d v1.21.5
ks-node1 Ready worker 45d v1.21.5
ks-node2 Ready worker 45d v1.21.5
ks-node3 Ready worker 25d v1.21.5
ks-node4 Ready node,worker 9d v1.21.5
此时ks-node4已经有了2个标签
那么再移除这个node标签
root@ks-master:~# kubectl label node ks-node4 node-role.kubernetes.io/node-
node/ks-node4 labeled
root@ks-master:~# kubectl get node
NAME STATUS ROLES AGE VERSION
ks-master Ready control-plane,master,worker 45d v1.21.5
ks-node1 Ready worker 45d v1.21.5
ks-node2 Ready worker 45d v1.21.5
ks-node3 Ready worker 25d v1.21.5
ks-node4 Ready worker 9d v1.21.5