如果您想多维度了解集群资源的使用情况及成本分布,您可以启用ACK成本洞察功能上报相关数据并将数据存储在阿里云Prometheus监控中。您可以通过HTTP API命令查看上报数据,以获取集群成本优化的建议,也便于您获取成本数据进行二次开发。
前提条件
组件与功能:
已安装alibaba-cloud-metrics-adapter组件,且在安装组件时设置
AlibabaCloudMetricsAdapter.prometheus.url
参数为阿里云Prometheus监控的地址。具体操作,请参见修改alibaba-cloud-metrics-adapter配置。
集群连接(选择一种即可):
已使用curl命令请求ACK成本数据HTTP API,请参见使用Kubernetes API。
工具安装:已下载JSON数据处理工具。本文以JSON处理器jq为例,介绍如何查询结构化的成本洞察数据。下载步骤,请参见jq Download。
注意事项
如果您的集群并非自行创建,而是由其他账号授权操作,可能会存在ack-metrics-adapter-api-service无权限的情况。通过Kubernetes API与Service暴露的HTTP API的方式获取ACK成本洞察数据时,您需要在请求API Server的凭证中为用户或用户组绑定对应的RBAC权限。
API成本数据获取方式概览
获取方式 | API | 描述 |
Cost API:查询实时估算成本(旧版) | Cost API提供查询Pod的实时估算成本和资源使用情况。 | |
Cost V2 API:查询实时估算成本 | 在完全兼容Cost API的基础上,Cost V2 API进一步支持设定更灵活的时间范围,提供Pod、Namespace、Label、Controller、Controller Kind等维度的实时估算成本查询,可用于实时成本趋势分析。 | |
Allocation API:查询业务分摊账单的成本 | Allocation API结合了账单数据,提供业务分摊账单的费用,与Cost V2 API响应结构一致,可用于业务对账。 |