为ECI Pod绑定自定义标签

更新时间:
复制为 MD 格式

标签由一组键值对组成,可以用于标记ECI实例。您可以使用标签来分组管理ECI实例,便于筛选和批量操作。本文介绍如何为ECI Pod绑定自定义标签(Tag),以便后续可以基于标签管理ECI Pod,例如基于标签进行费用分析。

背景信息

标签(Tag)是一组键值对,功能与Label类似,是阿里云提供的用于标识云资源,实现分类管理资源的功能。通过阿里云容器服务Kubernetes版创建的ECI实例默认带有以下标签:

  • ManagedBy:集群类型。

  • ClusterId:集群ID。

  • NameSpace:集群的命名空间。

  • OwnerReferenceKind:集群下创建的负载类型,例如Deployment、Job等。

  • OwnerReferenceName:集群下创建的负载名称,例如Deployment name、Job name等。

  • PodName:Pod名称。

配置说明

您可以通过k8s.aliyun.com/eci-custom-tagsAnnotationECI Pod绑定自定义标签,最多可以绑定3个标签。标签键和标签值之间用半角冒号隔开,多个标签之间用半角逗号隔开。

重要
  • Annotation请添加在Podmetadata下,例如:创建Deployment时,Annotation需添加在spec>template>metadata下。

  • 仅支持在创建ECI Pod时添加ECI相关Annotation来生效ECI功能,更新ECI Pod时添加或者修改ECI相关Annotation均不会生效。

配置示例如下:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
      annotations:
        k8s.aliyun.com/eci-custom-tags: "env:test,name:alice"   #绑定标签
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80

配置完成后,您可以通过kubectl describe命令查询Pod详情,从Annotation中可以查看k8s.aliyun.com/eci-custom-tags的值,即自定义标签。

~$ kubectl get pod
NAME                    READY   STATUS    RESTARTS   AGE
test-555f6995c6-jrmtl   1/1     Running   0          31m
test-555f6995c6-tqjjk   1/1     Running   0          31m
~$ kubectl describe pod test-555f6995c6-jrmtl
Name:         test-555f6995c6-jrmtl
Namespace:    default
Priority:     0
Node:         virtual-kubelet-cn-beijing-k/172.16.xxx.xxx
Start Time:   Tue, 22 Nov 2022 02:49:42 +0000
Labels:       alibabacloud.com/eci=true
              app=nginx
              pod-template-hash=555f6995c6
Annotations:  ProviderCreate: done
              k8s.aliyun.com/cluster-dns:
              k8s.aliyun.com/cluster-domain: cluster.local
              k8s.aliyun.com/eci-client-token: bbb1a0f7-ad20-440c-a95c-00d9c064f4bc
              k8s.aliyun.com/eci-created-by-template: true
              k8s.aliyun.com/eci-custom-tags: env:test,name:alice
              k8s.aliyun.com/eci-drop-apiserver-interactive-caps:
              k8s.aliyun.com/eci-instance-cpu: 2.0

如果想要更加直观地查看ECI Pod绑定的标签信息,可在弹性容器实例控制台容器组页面查看。

相关文档

ECI Pod绑定的自定义标签可用于账单分账管理,便于您进行费用分析。更多信息,请参见通过控制台查看费用分析