设置标签与注解
为了满足多维度的元数据管理需求,Kubernetes提供了标签(Labels)和注解(Annotations)两种元数据机制。它们都以键值对(key-value)的形式为资源附加元数据,但设计目的和使用场景有本质区别:
- 标签(Labels):主要用于标识和分类Kubernetes对象,采用结构化键值对(如app=frontend)的形式,支持通过选择器高效筛选资源,并直接参与资源的调度与管理。标签的键值需遵循命名规范,且通常用于表示资源对象的持久性特征(如版本信息等)。
- 注解(Annotations):主要用于扩展功能和存储附加元数据,支持更自由的数据格式(如JSON、多行文本等),但不参与资源的筛选或调度逻辑。
标签和注解适用于多种Kubernetes资源类型,本章节主要聚焦于它们在Pod上的应用。
Pod标签
Pod标签的核心作用是实现资源间的智能关联。为Pod设置标签后,Kubernetes中的其他资源可以通过标签选择器(Label Selector)精准识别和关联这些Pod。标签的键和值需遵循一定规范,具体请参见Syntax and character set。例如,为2个工作负载(APP1和APP2)添加如下标签:
- APP1:release=alpha
- APP2:release=beta
当创建新工作负载APP3,并设置其“负载亲和性”条件为release=alpha时,Kubernetes会尝试将该工作负载调度到APP1所在的节点,或其他满足条件的节点上,从而实现APP1和APP3的智能协同部署。更多信息,请参见设置工作负载亲和/反亲和调度(podAffinity/podAntiAffinity)。
您可以通过控制台或YAML为Pod增加标签,具体如下:
在控制台创建或升级工作负载时,您可以在“高级配置 > 标签与注解”中添加“Pod标签”,从而对Pod进行标识。创建工作负载时,系统会默认为Pod添加如下标签,其中app的值为工作负载名称。

在创建或升级工作负载时,您可以在YAML文件的下列位置为Pod添加标签:
... spec: selector: matchLabels: app: nginx version: v1 template: metadata: labels: app: nginx version: v1 spec: ...
Pod注解
CCE为Pod提供了一些高级功能,可以通过给YAML添加注解的方式实现,具体操作如下:
在控制台创建或升级工作负载时,您可以在“高级配置 > 标签与注解”中添加“Pod注解”,从而启用Pod的高级功能。
例如,将Pod设置为不采集容器标准输出,即将Pod注解设置为“kubernetes.AOM.log.stdout='[]'”,并单击“确认添加”。

通过YAML创建或升级工作负载时,您可以通过“annotations”参数启用Pod的高级功能。
例如,您可以通过“annotations”将Pod设置为不采集容器标准输出。
... spec: replicas: 1 # 实例数量 selector: matchLabels: # 选择器,用于选择带有特定标签的资源 app: nginx template: metadata: labels: # 标签 app: nginx annotations: kubernetes.AOM.log.stdout: '[]' ...
常用的Pod注解
表1中给出了一些常用注解,您可以根据需求为Pod添加相关注解。
注解 |
说明 |
默认值 |
---|---|---|
kubernetes.AOM.log.stdout |
表示容器标准输出采集参数,不配置时默认将全部容器的标准输出上报至AOM,可配置采集指定容器或全部不采集。 示例:
|
- |
metrics.alpha.kubernetes.io/custom-endpoints |
表示AOM监控指标上报参数,可将指定指标上报至AOM服务。 具体使用请参见使用AOM监控自定义指标。 |
- |
prometheus.io/scrape |
表示Prometheus指标上报参数,值为true表示当前负载开启上报。 具体使用请参见使用云原生监控插件监控自定义指标。 |
- |
prometheus.io/path |
表示Prometheus采集的url路径。 具体使用请参见使用云原生监控插件监控自定义指标。 |
/metrics |
prometheus.io/port |
表示Prometheus采集的endpoint端口号。 具体使用请参见使用云原生监控插件监控自定义指标。 |
- |
prometheus.io/scheme |
表示Prometheus采集协议,值可以填写http或https。 具体使用请参见使用云原生监控插件监控自定义指标。 |
- |
kubernetes.io/ingress-bandwidth |
表示Pod的入口带宽,用于控制进入Pod的数据传输速率,确保Pod具有处理外部请求的能力。 具体使用请参见为Pod配置QoS。 |
- |
kubernetes.io/egress-bandwidth |
表示Pod的出口带宽,用于控制Pod向外发送数据的速率,影响Pod与外部服务或用户之间的通信效率。 具体使用请参见为Pod配置QoS。 |
- |
相关文档
- 如果需要设置工作负载亲和/反亲和调度,请参见设置工作负载亲和/反亲和调度(podAffinity/podAntiAffinity)
- 如果需要通过注解为Pod配置EIP,请参见为Pod配置EIP。