如何在Kubernetes中向节点添加角色?

时间:2018-02-18 18:03:23

标签: kubernetes kubeadm

当我使用kubeadm配置Kubernetes集群时,我将节点标记为无。它是Kubernetes中的一个已知错误,目前公关正在进行中。但是,我想知道是否有为节点手动添加角色名称的选项?

root@ip-172-31-14-133:~# kubectl get nodes
NAME               STATUS    ROLES     AGE       VERSION
ip-172-31-14-133   Ready     master    19m       v1.9.3
ip-172-31-6-147    Ready     <none>    16m       v1.9.3

6 个答案:

答案 0 :(得分:22)

节点角色只是格式为node-role.kubernetes.io/<role>

的标签

您可以使用kubectl label

自行添加

答案 1 :(得分:15)

这对我有用:

htmlspecialchars

kubectl label node cb2.4xyz.couchbase.com node-role.kubernetes.io/worker=worker

我无法删除/更新旧标签,但是我可以忍受它。

答案 2 :(得分:7)

标签前:

 WebView(
  initialUrl: widget.url,
  onPageFinished: (data){
    updateLoadingState(false);
  },
  javascriptMode: JavascriptMode.unrestricted,
  onWebViewCreated: (webViewController){
    _webViewController = webViewController;
  },
)

general@master-node:~$ kubectl get nodes NAME STATUS ROLES AGE VERSION master-node Ready master 23m v1.18.2 slave-node Ready <none> 19m v1.18.2

在我的情况下从节点,例如

kubectl label nodes <your_node> kubernetes.io/role=<your_label>

标签后:

kubectl label nodes slave-node kubernetes.io/role=worker

您还可以更改标签。只需放置general@master-node:~$ kubectl label nodes slave-node kubernetes.io/role=worker node/slave-node labeled general@master-node:~$ kubectl get nodes NAME STATUS ROLES AGE VERSION master-node Ready master 24m v1.18.2 slave-node Ready worker 21m v1.18.2

--overwrite

例如

kubectl label --overwrite nodes <your_node> kubernetes.io/role=<your_new_label>

覆盖标签后:

kubectl label --overwrite nodes slave-node kubernetes.io/role=worker1

答案 3 :(得分:2)

添加标签

kubectl label node <node name> node-role.kubernetes.io/<role name>=<key - (any name)>

删除标签

kubectl label node <node name> node-role.kubernetes.io/<role name>-

答案 4 :(得分:0)

kubectl node <node-name> kubernets.io/role=<name-your-node-role>

答案 5 :(得分:0)

添加角色

$ kubectl get nodes 

master  Ready    control-plane,master   166m    v1.21.1
worker1  Ready    worker                 48m     v1.21.1
worker2  Ready    worker                 16m     v1.21.1
worker3   Ready    worker                 9m57s   v1.21.1    

$ kubectl label node worker1  node-role.kubernetes.io/worker=worker

$ kubectl label node worker2  node-role.kubernetes.io/worker=worker

$ kubectl label node worker3  node-role.kubernetes.io/worker=worker

如果您想覆盖,请使用以下命令。

$ kubectl label node worker1  node-role.kubernetes.io/worker=worker --overwrite