「Kubernetes Objects」- Labels and Selectors

Labeling an Object

为对象创建标签:

kubectl label pods foobar demo=mark

可以快速的更新和处理对象。

标签和“随意”命名,但是不能和系统中的冲突。命名要符合规范:「Labels and Selectors

Using Labels for Queries

使用命令:kubectl get pods –show-labels

获取POD的标签:kubectl get pods –show-labels

根据指定标签获取:kubectl get pods –selector app=cockroachdb

标签是元数据的一部分,任何对象可以被标记,在Deployment和Service中可以使用标签选择Pod。

除了使用kubectl label命令,还可以在清单文件中指定:

kind: Pod
apiVersion: v1
metadaa:
  name; foobar
  labels:
    tier: frontend

选项-l和–selector是等价的:kubectl get pods -l run=foobar

选项–show-labels显示所有的标签:kubectl get pods –show-labels

选项-L将额外添加一个列,用以返回指定标签的值:kubectl get pods -L run

很多对象都支持以集合方式查询。例如:kubectl get pods -l ‘env in (production, development)’

相关文档

Kubernetes v1.16/CONCEPTS/Labels and Selectors
Kubernetes v1.16/API OVERVIEW/LabelSelector v1 meta