一、标签是什么

 标签是k8s特色的管理方式,便于分类管理资源对象。

一个标签可以对应多个资源,一个资源也可以有多个标签,它们是多对多的关系。 

一个资源拥有多个标签,可以实现不同维度的管理。 

可以使用标签选择器来指定能使用哪些标签。

二、label使用

label的使用无非就是增删改查

增加节点的标签信息,这里就增加了一个标签

[root@master ~]# kubectl label node 192.168.1.151 node-role.kubernetes.io/node=
node/192.168.1.151 labeled

 多维度标签,就是给节点增加多个标签用于不同的场景

[root@master ~]# kubectl label node 192.168.1.152 region=huanai zone=A env=test bussiness=game

查看node的lable标签

[root@master ~]# kubectl get nodes --show-labels
NAME            STATUS                     ROLES    AGE   VERSION   LABELS
192.168.1.151   Ready,SchedulingDisabled   master   13d   v1.18.3   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,bussiness=game,env=test,kubernetes.io/arch=amd64,kubernetes.io/hostname=192.168.1.151,kubernetes.io/os=linux,kubernetes.io/role=master,region=huannan,zone=A
192.168.1.152   Ready                      node     13d   v1.18.3   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=192.168.1.152,kubernetes.io/os=linux,kubernetes.io/role=node,node-role.kubernetes.io/node=node1
192.168.1.153   Ready                      node     13d   v1.18.3   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=192.168.1.153,kubernetes.io/os=linux,kubernetes.io/role=node,node-role.kubernetes.io/node=node1

显示节点的应用标签

[root@master ~]# kubectl get nodes -L region,zone
NAME            STATUS                     ROLES         AGE   VERSION   REGION    ZONE
192.168.1.151   Ready,SchedulingDisabled   master,node   13d   v1.18.3   huannan   A
192.168.1.152   Ready                      node          13d   v1.18.3   huanai    A
192.168.1.153   Ready                      node          13d   v1.18.3

 查找region=huanan的节点

[root@master ~]# kubectl get nodes -l region=huannan
NAME            STATUS                     ROLES         AGE   VERSION
192.168.1.151   Ready,SchedulingDisabled   master,node   13d   v1.18.3

修改标签

[root@master ~]# kubectl label node 192.168.1.151 region=huandong --overwrite=true

或  kubectl edit node 192.168.1.151

取消一个标签

[root@master ~]# kubectl label node 192.168.1.151 region- zone- env- bussiness-

总之:标签是为了更好的进行资源对象的相关选择与匹配

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐