通過(guò)Annotation自定義標(biāo)簽實(shí)現(xiàn)Pod費(fèi)用分析
標(biāo)簽(Tag)是一種用于對(duì)資源進(jìn)行分類(lèi)和描述的元數(shù)據(jù),通過(guò)鍵值對(duì)的形式為資源添加標(biāo)簽。您可以使用阿里云標(biāo)簽來(lái)分組管理ACS Pod實(shí)例,便于篩選和批量操作。本文介紹如何通過(guò)Kubernetes Pod Annotation為ACS Pod綁定阿里云自定義標(biāo)簽,以便后續(xù)基于標(biāo)簽進(jìn)行費(fèi)用分析。
背景信息
阿里云標(biāo)簽是一種靈活且可定制的資源標(biāo)記方式,適用于標(biāo)識(shí)和分類(lèi)云資源。通過(guò)為云資源打上標(biāo)簽,您可以更方便地管理和組織云資源,實(shí)現(xiàn)分類(lèi)管理云資源的功能。具體信息,請(qǐng)參見(jiàn)標(biāo)簽概述。
通過(guò)阿里云容器計(jì)算服務(wù)ACS創(chuàng)建的Pod實(shí)例默認(rèn)帶有以下系統(tǒng)標(biāo)簽:
系統(tǒng)標(biāo)簽key | 系統(tǒng)標(biāo)簽說(shuō)明 |
acs:acc:cluster_id | 集群ID |
acs:acc:cluster_name | 集群名稱 |
acs:acc:compute_class | 實(shí)例類(lèi)型 |
acs:acc:zone | 可用區(qū) |
目前ACS僅支持配置標(biāo)簽用于費(fèi)用分析等相關(guān)功能。
配置說(shuō)明
您可以通過(guò)alibabacloud.com/custom-tags
的Annotation為ACS Pod綁定自定義標(biāo)簽,最多可以綁定5個(gè)標(biāo)簽。標(biāo)簽鍵和標(biāo)簽值之間用英文半角冒號(hào)隔開(kāi),多個(gè)標(biāo)簽之間用英文半角逗號(hào)隔開(kāi)。
Annotation請(qǐng)?zhí)砑釉赑od的metadata下,例如:創(chuàng)建Deployment時(shí),Annotation需添加在
spec.template.metadata
下。僅支持在創(chuàng)建ACS Pod時(shí)添加Pod相關(guān)Annotation來(lái)生效自定義標(biāo)簽功能,更新ACS Pod時(shí),添加或者修改Pod相關(guān)Annotation均不會(huì)生效。
鍵與值內(nèi)容限定匹配正則表達(dá)式 "^[a-zA-Z0-9_.!@#%&*+=:;/<>~-]{1,128}$",并符合標(biāo)簽通用規(guī)范。關(guān)于標(biāo)簽的詳細(xì)內(nèi)容,請(qǐng)參見(jiàn)標(biāo)簽概述。
因
:
用作分隔符,無(wú)法作為鍵值內(nèi)容。不符合鍵值對(duì)規(guī)范的內(nèi)容會(huì)直接忽略。
配置示例
以下示例通過(guò)使用YAML創(chuàng)建Deployment的方式,演示如何為Deployment中的Pod配置自定義標(biāo)簽。
使用以下內(nèi)容創(chuàng)建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>" #綁定自定義標(biāo)簽 spec: containers: - name: nginx image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest ports: - containerPort: 80
上述YAML在
annotations
中添加了兩個(gè)標(biāo)簽,分別為<tag_key1>:<tag_value1>
和<tag_key2>:<tag_value2>
。參考配置說(shuō)明,您可以添加自定義標(biāo)簽的key和value。執(zhí)行以下命令,查看Pod詳情。命令中
<Pod name>
需要替換為實(shí)際Pod名稱,如nginx-789f4xxxxx-vnjxz
。kubectl describe pod <Pod name> | grep -A 10 Annotations
預(yù)期輸出:
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
已生效。在費(fèi)用與成本頁(yè)面,查看標(biāo)簽是否生效。
(可選)啟用費(fèi)用標(biāo)簽
按照業(yè)務(wù)實(shí)際情況設(shè)置需要進(jìn)行成本分析的維度,將標(biāo)簽設(shè)置為費(fèi)用標(biāo)簽。
訪問(wèn)費(fèi)用與成本的費(fèi)用標(biāo)簽頁(yè)面。
在費(fèi)用標(biāo)簽頁(yè)面,閱讀費(fèi)用標(biāo)簽說(shuō)明,單擊下一步。
選擇使用標(biāo)簽實(shí)現(xiàn)成本分?jǐn)偣芾?/a>中綁定的標(biāo)簽,將其指定為費(fèi)用標(biāo)簽,單擊下一步。
單擊確認(rèn)啟用。
查看費(fèi)用標(biāo)簽對(duì)應(yīng)的云資源
訪問(wèn)費(fèi)用與成本的成本分析頁(yè)面。
在右側(cè)篩選條件區(qū)域,單擊標(biāo)簽。
選擇您設(shè)置的標(biāo)簽
<tag_key1>:<tag_value1>,<tag_key2>:<tag_value2>
,查詢費(fèi)用支出情況。單擊應(yīng)用篩選條件。
說(shuō)明成本分析支持選擇多個(gè)標(biāo)簽,多個(gè)標(biāo)簽之間是或的關(guān)系。
云產(chǎn)品控制臺(tái)新增的標(biāo)簽,T+1同步至費(fèi)用標(biāo)簽列表。
費(fèi)用標(biāo)簽包含用戶歷史創(chuàng)建的全部標(biāo)簽,用戶確認(rèn)在無(wú)使用場(chǎng)景的情況下,可選擇不啟用。
相關(guān)文檔
如果您有云資源分賬的需求,可以使用標(biāo)簽進(jìn)行費(fèi)用分析。具體內(nèi)容,請(qǐng)參見(jiàn)標(biāo)簽分賬概述。