标签与注解
Pod注解
CCE提供一些使用Pod的高级功能,这些功能使用时可以通过给YAML添加注解Annotation实现。具体的Annotation如下表所示。
注解 |
说明 |
默认值 |
---|---|---|
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配置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]
例如,设置工作负载亲和性的“key/value”值为“role/backend”,则会选择APP3进行亲和性调度,详情请参见工作负载亲和(podAffinity)。