在 kubeadm 引导的 k8s 集群中, 查看 nodes 信息时, ROLES 一列标记了 master 节点的身份, 其他节点默认没有标记.。
我们可以手动给任意 node 设置 ROLES。
原理就是给 node 打标签, 只不过是特殊的标签:

root@k8s-master:~# kubectl get nodes
NAME         STATUS     ROLES     AGE       VERSION
k8s-master   Ready      master    50d       v1.11.2
k8s-node1    NotReady   <none>    50d       v1.11.2
k8s-node2    NotReady   <none>    50d       v1.11.2
root@k8s-master:~# kubectl label node k8s-node1 node-role.kubernetes.io/worker=worker
node/k8s-node1 labeled
root@k8s-master:~# kubectl get nodes
NAME         STATUS     ROLES     AGE       VERSION
k8s-master   Ready      master    50d       v1.11.2
k8s-node1    NotReady   worker    50d       v1.11.2
k8s-node2    NotReady   <none>    50d       v1.11.2

给一个节点打上master标签可以如下配置:

kubectl label node k8s-node2 node-role.kubernetes.io/master=master

星霜荏苒 居诸不息