04-Kubernetes标签

1、什么是标签

标签其实就一对key/value ,被关联到对象上,比如Pod,标签的使用我们倾向于能够表示对象的特殊特点,就是一眼就看出了这个Pod是干什么的,标签可以用来划分特定的对象(比如版本,服务类型等),标签可以在创建一个对象的时候直接定义,也可以在后期随时修改,每一个对象可以拥有多个标签,但是,key值必须是唯一的。创建标签之后也可以方便我们对资源进行分组管理。如果对pod打标签,之后就可以使用标签来查看、删除指定的pod。

在k8s中,大部分资源都可以打标签。

2、给Pod资源打标签

对已经存在的Pod资源打标签:

kubectl label pods tomcat release=v1

查看标签:

kubectl get pods tomcat --show-labels

效果如下:image-20220308141559218

3、给节点对象打标签

节点在Kubernetes中也属于资源类型,我们也可以对节点进行打标签,以便用来区分不同的节点类型,比如说有计算需求的节点一般都会插上显卡,存储类型的节点一般插固态硬盘等等。

在初始化Kubernetes集群加入工作节点的时候,我们为了知道它是工作节点的时候,给他设置了如下的标签:

kubectl label node k8s-node01.staryjie.com node-role.kubernetes.io/worker=worker

设置其他标签:

kubectl label node k8s-node01.staryjie.com disk=ssd
kubectl label node k8s-node02.staryjie.com gpu=ture

查看标签:image-20220308142154472

4、查看资源标签

4.1 查看默认命名空间下所有Pod资源的标签

kubectl get pods --show-labels

4.2 查看默认命名空间下指定Pod的标签

kubectl get pods tomcat --show-labels

4.3 列出默认命名空间下key为release的Pod,不显示标签

kubectl get pods -l release

4.4 列出默认命名空间下key为release,value是v1的Pod,不显示标签

kubectl get pods -l release=v1

4.5 列出默认命名空间下key为release的所有Pod并显示对应的标签值

kubectl get pods -L release

4.6 查看所有命名空间下Pod的标签

kubectl get pods --all-namespaces --show-labels
posted @ 2022-05-17 22:35  StaryJie  阅读(70)  评论(0编辑  收藏  举报