作用:
    image.png

    • 使用标签把资源分类分组,可以方便管理资源

    • 所谓标签就是资源附加的键值对,key:只能使用,字母,数字 _ - . (只能以字母数字开头,不能超过63给字符),value: 可以为空,只能使用,字母,数字开头

    • 每一个标签都可以被标签选择器进行匹配度检查,从而完成资源挑选

    • 一个资源对象可有多个标签,同一个标签也可以对应多个资源

    • 可以在创建资源的时候配置标签,也可以使用kubectl label进行后期打标

    语法:
    image.png
    key=value
    key:字母、数字、、-、. 只能以字母或者数字开头
    value:可以为空,只能以字母或者数字开头及结尾,中间可以使用字母、数字、
    、-、. 在实际环境中,尽量做到见名知意,且尽可能保持简单

    具体用法:

    Usage 1 - 新建Pod
    image.png
    [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命令
    image.png
    [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 - 修改已有的标签的值
    image.png
    [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