作用:
使用标签把资源分类分组,可以方便管理资源
所谓标签就是资源附加的键值对,key:只能使用,字母,数字 _ - . (只能以字母数字开头,不能超过63给字符),value: 可以为空,只能使用,字母,数字开头
每一个标签都可以被标签选择器进行匹配度检查,从而完成资源挑选
一个资源对象可有多个标签,同一个标签也可以对应多个资源
可以在创建资源的时候配置标签,也可以使用kubectl label进行后期打标
语法:
key=value
key:字母、数字、、-、. 只能以字母或者数字开头
value:可以为空,只能以字母或者数字开头及结尾,中间可以使用字母、数字、、-、. 在实际环境中,尽量做到见名知意,且尽可能保持简单
具体用法:
Usage 1 - 新建Pod
[root@k8s-master ~]# kubectl get pods —show-labels #查看pod信息时,并显示对象的标签信息
NAME READY STATUS RESTARTS AGE LABELS
pod-demo 2/2 Running 5 5h13m app=myapp,tier=frontend
[root@k8s-master ~]# kubectl get pods -l app #过滤包含app标签的pod
NAME READY STATUS RESTARTS AGE
pod-demo 2/2 Running 5 5h20m
[root@k8s-master ~]# kubectl get pods -l app,tier #过滤同时包含app,tier标签的pod
NAME READY STATUS RESTARTS AGE
pod-demo 2/2 Running 5 5h20m
[root@k8s-master ~]# kubectl get pods -L app #显示有app键的标签信息
NAME READY STATUS RESTARTS AGE APP
pod-demo 2/2 Running 5 5h21m myapp
[root@k8s-master ~]# kubectl get pods -L app,tier #显示有app和tier键的标签信息
NAME READY STATUS RESTARTS AGE APP TIER
pod-demo 2/2 Running 5 5h21m myapp frontend
Usage 2 - 给已有的pod添加标签,通过kubectl label命令
[root@k8s-master ~]# kubectl label —help
Usage:
kubectl label [—overwrite] (-f FILENAME | TYPE NAME) KEY_1=VAL_1 … KEY_N=VAL_N [—resource-version=version] [options]
[root@k8s-master ~]# kubectl label pods/pod-demo env=production #给pod资源pod-demo添加env标签值为production
pod/pod-demo labeled
[root@k8s-master ~]# kubectl get pods —show-labels
NAME READY STATUS RESTARTS AGE LABELS
pod-demo 2/2 Running 5 5h32m app=myapp,env=production,tier=frontend
Usage 3 - 修改已有的标签的值
[root@k8s-master ~]# kubectl label pods/pod-demo env=testing —overwrite #同上面添加标签一样,只是添加—overwrite参数
pod/pod-demo labeled
[root@k8s-master ~]# kubectl get pods —show-labels
NAME READY STATUS RESTARTS AGE LABELS
pod-demo 2/2 Running 5 5h39m app=myapp,env=testing,tier=frontend
后续还有很多方式,请参考文档:https://www.cnblogs.com/wjlovezzd/p/13176240.html