標簽(Tag)是一種用于對資源進行分類和描述的元數據,通過鍵值對的形式為資源添加標簽。您可以使用阿里云標簽來分組管理ACS Pod實例,便于篩選和批量操作。本文介紹如何通過Kubernetes Pod Annotation為ACS Pod綁定阿里云自定義標簽,以便后續基于標簽進行費用分析。
背景信息
阿里云標簽是一種靈活且可定制的資源標記方式,適用于標識和分類云資源。通過為云資源打上標簽,您可以更方便地管理和組織云資源,實現分類管理云資源的功能。具體信息,請參見標簽概述。
通過阿里云容器計算服務ACS創建的Pod實例默認帶有以下系統標簽:
系統標簽key | 系統標簽說明 |
acs:acc:cluster_id | 集群ID |
acs:acc:cluster_name | 集群名稱 |
acs:acc:compute_class | 實例類型 |
acs:acc:zone | 可用區 |
目前ACS僅支持配置標簽用于費用分析等相關功能。
配置說明
您可以通過alibabacloud.com/custom-tags
的Annotation為ACS Pod綁定自定義標簽,最多可以綁定5個標簽。標簽鍵和標簽值之間用英文半角冒號隔開,多個標簽之間用英文半角逗號隔開。
Annotation請添加在Pod的metadata下,例如:創建Deployment時,Annotation需添加在
spec.template.metadata
下。僅支持在創建ACS Pod時添加Pod相關Annotation來生效自定義標簽功能,更新ACS Pod時,添加或者修改Pod相關Annotation均不會生效。
鍵與值內容限定匹配正則表達式 "^[a-zA-Z0-9_.!@#%&*+=:;/<>~-]{1,128}$",并符合標簽通用規范。關于標簽的詳細內容,請參見標簽概述。
因
:
用作分隔符,無法作為鍵值內容。不符合鍵值對規范的內容會直接忽略。
配置示例
以下示例通過使用YAML創建Deployment的方式,演示如何為Deployment中的Pod配置自定義標簽。
使用以下內容創建nginx.yaml。
apiVersion: apps/v1 kind: Deployment metadata: name: nginx labels: app: nginx spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: name: nginx-test labels: app: nginx alibabacloud.com/compute-class: general-purpose alibabacloud.com/compute-qos: default annotations: alibabacloud.com/custom-tags: "<tag_key1>:<tag_value1>,<tag_key2>:<tag_value2>" #綁定自定義標簽 spec: containers: - name: nginx image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest ports: - containerPort: 80
上述YAML在
annotations
中添加了兩個標簽,分別為<tag_key1>:<tag_value1>
和<tag_key2>:<tag_value2>
。參考配置說明,您可以添加自定義標簽的key和value。執行以下命令,查看Pod詳情。命令中
<Pod name>
需要替換為實際Pod名稱,如nginx-789f4xxxxx-vnjxz
。kubectl describe pod <Pod name> | grep -A 10 Annotations
預期輸出:
Annotations: ProviderCreate: done alibabacloud.com/client-token: edf29202-54ac-438e-9626-a1ca007xxxxx alibabacloud.com/custom-tags: <tag_key1>:<tag_value1>,<tag_key2>:<tag_value2> alibabacloud.com/instance-id: acs-2ze008giupcyaqbxxxxx alibabacloud.com/pod-ephemeral-storage: 30Gi alibabacloud.com/pod-use-spec: 0.25-0.5Gi alibabacloud.com/request-id: A0EF3BF3-37E7-5A07-AC2D-68A0CFCxxxxx alibabacloud.com/schedule-result: finished alibabacloud.com/user-id: 14889995898xxxxx kubernetes.io/pod-stream-port: 10250 kubernetes.io/preferred-scheduling-node: virtual-kubelet-cn-beijing-g/1
可以看到,在
Annotations
中新增的alibabacloud.com/custom-tags
已生效。在費用與成本頁面,查看標簽是否生效。
(可選)啟用費用標簽
按照業務實際情況設置需要進行成本分析的維度,將標簽設置為費用標簽。
訪問費用與成本的費用標簽頁面。
在費用標簽頁面,閱讀費用標簽說明,單擊下一步。
選擇使用標簽實現成本分攤管理中綁定的標簽,將其指定為費用標簽,單擊下一步。
單擊確認啟用。
查看費用標簽對應的云資源
訪問費用與成本的成本分析頁面。
在右側篩選條件區域,單擊標簽。
選擇您設置的標簽
<tag_key1>:<tag_value1>,<tag_key2>:<tag_value2>
,查詢費用支出情況。單擊應用篩選條件。
說明成本分析支持選擇多個標簽,多個標簽之間是或的關系。
云產品控制臺新增的標簽,T+1同步至費用標簽列表。
費用標簽包含用戶歷史創建的全部標簽,用戶確認在無使用場景的情況下,可選擇不啟用。
相關文檔
如果您有云資源分賬的需求,可以使用標簽進行費用分析。具體內容,請參見標簽分賬概述。