一、简介
label是标签的意思,一对 key/value ,被关联到对象上,k8s中的资源对象大都可以打上标签,如Node、Pod、Service 等
一个资源可以绑定任意多个label,k8s 通过 Label 可实现多维度的资源分组管理,后续可通过 Label Selector 查询和筛选拥有某些 Label 的资源对象
二、标签的用法
1、帮助:kubectl label --help
2、打标签
kubectl label 类型 对象名称 key=value
pod:kubectl label pods busybox app=busybox
node:kubectl label node k8s-node01 k8s-node02 env=test
3、查看
kubectl get 类型 --show-labels
查看pods为busybox的标签:kubectl get pods busybox --show-labels
查看默认名称空间下所有pod资源的标签:kubectl get pods --show-labels
查看指定名称空间:kubectl get pods -n kube-system --show-labels
4、通过标签筛选
列出默认名称空间下标签key是app的pod,不显示标签:kubectl get pods -l app
列出默认名称空间下标签key是app、值是busybox的pod,不显示标签:kubectl get pods -l app=busybox
多个筛选条件:kubectl get po -l version!=v1,app=nginx
5、删除标签
kubectl label 类型 标签名-
pod:kubectl label po busybox app- -n kube-public
node:kubectl label node k8s-node02 env-
6、修改标签
加上--overwrite参数修改标签
kubectl label po busybox app=busybox2 -n kube-public --overwrite