更新时间:2024-09-29 GMT+08:00

设置标签与注解

Pod注解

CCE提供一些使用Pod的高级功能,这些功能使用时可以通过给YAML添加注解Annotation实现。具体的Annotation如下表所示。

表1 Pod Annotation

注解

说明

默认值

kubernetes.AOM.log.stdout

容器标准输出采集参数,不配置默认将全部容器的标准输出上报至AOM,可配置采集指定容器或全部不采集。

示例:

  • 全部不采集:
    kubernetes.AOM.log.stdout: '[]'
  • 采集container-1和container-2容器:
    kubernetes.AOM.log.stdout: '["container-1","container-2"]'

-

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配置QoS

-

kubernetes.io/egress-bandwidth

Pod的出口带宽

具体使用请参见为Pod配置QoS

-

Pod标签

在控制台创建工作负载时,会默认为Pod添加如下标签,其中app的值为工作负载名称。

YAML示例如下:

...
spec:
  selector:
    matchLabels:
      app: nginx
      version: v1
  template:
    metadata:
      labels:
        app: nginx
        version: v1
    spec:
      ...

您也可以根据需要为Pod添加其他标签,可用于设置工作负载亲和性与反亲和性调度。如下图,假设为工作负载(例如名称为APP1、APP2、APP3)定义了3个Pod标签:release、env、role。不同工作负载定义了不同的取值,分别为:

  • APP 1:[release:alpha;env:development;role:frontend]
  • APP 2:[release:beta;env:testing;role:frontend]
  • APP 3:[release:alpha;env:production;role:backend]
图1 标签案例

例如,设置工作负载亲和性的“key/value”值为“role/backend”,则会选择APP3进行亲和性调度,详情请参见设置工作负载亲和/反亲和调度(podAffinity/podAntiAffinity)