【问题标题】:How to add roles to nodes in Kubernetes?如何为 Kubernetes 中的节点添加角色?
【发布时间】:2018-07-29 00:33:43
【问题描述】:

当我使用 kubeadm 配置 Kubernetes 集群时,我的节点被标记为“无”。这是 Kubernetes 中的一个已知错误,目前正在进行 PR。

但是,我想知道是否可以选择手动为节点添加角色名称。

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

【问题讨论】:

    标签: kubernetes kubeadm


    【解决方案1】:

    这对我有用:

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

    NAME                                          STATUS    ROLES           AGE       VERSION
    cb2.4xyz.couchbase.com                          Ready     custom,worker   35m       v1.11.1
    cb3.5xyz.couchbase.com                          Ready     worker          29m       v1.11.1
    

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

    【讨论】:

    • 您可以使用命令 kubectl label node cb2.4xyz.couchbase.com node-role.kubernetes.io/custom- 删除“自定义”角色
    • 相同的答案 更好的答案 :)
    【解决方案2】:

    节点角色只是一个格式为node-role.kubernetes.io/&lt;role&gt;的标签

    你可以自己添加这个kubectl label

    【讨论】:

    • 确切的命令如下所示:kubectl label node aNodeName node-role.kubernetes.io/custom=
    • 只是补充一点 kubernetes.io/role=&lt;role_here&gt; 也可以
    • 你不应该再使用kubernetes.io/rolegithub.com/kubernetes/enhancements/blob/master/keps/sig-auth/…
    • 是的,这不再支持通过 Kubernetes 1.16 版中的 kubelet args 进行设置。有谁知道在启动工人时设置它的方法?提前致谢。
    • 我也在寻找最好的方法来完成这篇文章 k8s 1.16 版。这里有什么进展吗?
    【解决方案3】:

    默认

    添加角色

    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】:

      标签前:

      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 &lt;your_node&gt; kubernetes.io/role=&lt;your_label&gt;

      在我的例子中 slave-node 例如

      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 &lt;your_node&gt; kubernetes.io/role=&lt;your_new_label&gt;

      例如

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

      覆盖标签后:

      general@master-node:~$ kubectl label --overwrite nodes slave-node kubernetes.io/role=worker1
      node/slave-node labeled
      general@master-node:~$ kubectl get nodes
      NAME          STATUS   ROLES     AGE   VERSION
      master-node   Ready    master    36m   v1.18.2
      slave-node    Ready    worker1   32m   v1.18.2
      

      【讨论】:

      • 重复运行只是附加角色而不是更新它。
      【解决方案5】:

      添加角色

      $ 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   
      

      【讨论】:

      • 您可以选择您的节点具有任何角色,例如node-role.kubernetes.io/testing=testing-workernode-role.kubernetes.io/system=system-worker... 如果存在多个值,ROLES 列将显示以逗号分隔的值
      猜你喜欢
      • 2015-11-21
      • 1970-01-01
      • 1970-01-01
      • 2020-12-03
      • 1970-01-01
      • 2021-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多