Updated on 2025-09-23 GMT+08:00

Configuring Labels and Annotations

Pod Annotations

CCE Autopilot clusters provide multiple advanced functions during pod creation. To enable these functions, you can add annotations to pods on the console or using YAML. Table 1 describes the available annotations.

Table 1 Pod annotations

Function and Reference

Annotation

Example Value

Description

Setting AZ Affinity

node.cce.io/node-az-list

cn-east-3a,cn-east-3b

Lists the AZs for pod affinity.

For a CCE Autopilot cluster, you can set workload annotations to implement AZ affinity and schedule pods to specified AZs.

Increasing the Ephemeral Storage Space of a Pod

resource.cce.io/extra-ephemeral-storage-in-GiB

14

Indicates the extra ephemeral storage capacity for a pod, in GiB. The value ranges from 0 to 994.

Each pod can have 30-GiB free ephemeral storage and specified extra storage.

NOTE:

Clusters of v1.28.6-r0, v1.27.8-r0, and later support this function.

Using an Image Cache

(Select either of the two parameters.)

imagecache.cce.io/specified-name

autopilot-test

Specifies the image cache. Enter the name of an available image cache. After the image cache is specified, the image information in the containers parameter must be the same as that in the image cache.

If the specified image cache does not exist or the required images are not found in the image cache, the image cache is no longer used. The cluster will download the images based on the image information in the containers parameter.

imagecache.cce.io/auto-match

true

Specifies whether to enable automatic image cache matching. The options are as follows:

  • true: This option is enabled.
  • false: This option is disabled by default.

After this option is enabled, the optimal images will be selected from all available image caches based on:

  • How much the images match the image caches: The images in the most matched images will be used.
  • Time when the image caches were created: The images in the latest image cache will be used.

If no images are matched in the image cache, the image cache is no longer used. In this case, the images in the SWR image repository and open-source images are matched in sequence based on the specified image name. If no images are matched, a message is returned indicating that images fail to be pulled.

You can add an annotation on the console or using YAML.

Adding an Annotation on the Console

When creating a workload on the console, you can choose Advanced Settings > Labels and Annotations and add pod annotations to enable advanced functions.

For example, to add 14 GiB of ephemeral storage capacity for a pod, set Pod Annotation to resource.cce.io/extra-ephemeral-storage-in-GiB=14 and click Confirm.

Figure 1 Adding ephemeral storage capacity for a pod

Adding an Annotation Using YAML

When creating a workload using YAML, you can use the annotations parameter to enable advanced pod functions.

For example, when creating an Nginx workload, you can use annotations to add 14 GiB of ephemeral storage capacity for a pod.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx # Workload name
spec:
  replicas: 1 # Number of pods
  selector:
    matchLabels: # Selector for selecting resources with specific labels.
      app: nginx  
  template:
    metadata:
      labels:     # Labels
        app: nginx
      annotations:
        resource.cce.io/extra-ephemeral-storage-in-GiB: '14'
    spec:
      containers:
      - image: nginx:latest   # {Image name}:{Image tag}
        name: nginx
      imagePullSecrets:
      - name: default-secret

Pod Labels

You can use pod labels to organize, select, and manage resources for pods to make it easy to use and maintain resources.

When you create a workload on the console, the following labels are added to the pod by default. The value of app is the workload name.

Figure 2 Pod Label

Example YAML:

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