1.什么是标签?
标签其实就一对 key/value ,被关联到对象上,比如Pod,标签的使用我们倾向于能够表示对象的特殊特点,就是一眼就看出了这个Pod是干什么的,标签可以用来划分特定的对象(比如版本,服务类型等),标签可以在创建一个对象的时候直接定义,也可以在后期随时修改,每一个对象可以拥有多个标签,但是,key值必须是唯一的。创建标签之后也可以方便我们对资源进行分组管理。如果对pod打标签,之后就可以使用标签来查看、删除指定的pod.在k8s中,大部分资源都可以打标签。
2.给pod资源打标签
# 对已经存在的pod打标签
[root@master1~]# kubectl label pods pod-first release=v1
# 查看标签是否打成功
[root@master1~]# kubectl get pods pod-first --show-labels
NAME READY STATUS RESTARTS AGE LABELS
pod-first 1/1 Running 1 21h release=v1, app=tomcat-pod-first
3.查看资源标签
# 查看默认名称空间下所有pod资源的标签
[root@master1~]# kubectl get pods --show-labels
# 查看默认名称空间下指定pod具有的所有标签
[root@master1~]# kubectl get pods pod-first --show-labels
# 列出默认名称空间下标签key是release的pod,不显示标签
[root@master1~]# kubectl get pods -l release
# 列出默认名称空间下标签key是release、值是v1的pod,不显示标签
[root@master1~]# kubectl get pods -l release=v1
# 列出默认名称空间下标签key是release的所有pod,并打印对应的标签值
[root@master1~]# kubectl get pods -L release
NAME READY STATUS RESTARTS AGE RELEASE
pod-first 1/1 Running 0 13h v1
# 查看所有名称空间下的所有pod的标签
[root@master1 ~]# kubectl get pods --all-namespace --show-labels