简介
label是标签的意思,一对 key/value ,被关联到对象上,k8s中的资源对象大都可以打上标签,如Node、Pod、Service 等
一个资源可以绑定任意多个label,k8s 通过 Label 可实现多维度的资源分组管理,后续可通过 Label Selector 查询和筛选拥有某些 Label 的资源对象
操作
帮助
kubectl label --help
打标签
pod:kubectl label pods busybox app=busybox
node:kubectl label node k8s-node01 k8s-node02 env=test
查看
查看pods为busybox的标签:kubectl get pods busybox --show-labels
查看默认名称空间下所有pod资源的标签:kubectl get pods --show-labels
查看指定名称空间:kubectl get pods -n kube-system --show-labels
通过标签筛选
列出默认名称空间下标签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
删除标签
pod:kubectl label po busybox app- -n kube-public
node:kubectl label node k8s-node02 env-
修改标签
加上--overwrite参数修改标签
kubectl label po busybox app=busybox2 -n kube-public --overwrite