您可以通过Cost API查询集群指定命名空间或Pod在指定时间周期内的实时估算成本和资源监控数据。
前提条件
已参见通过API获取成本数据概述完成准备工作。
成本数据导出命令
连接集群后,您可以执行命令获取成本数据。获取成本数据的命令参数如下。
参数 | 描述 |
DimensionType | 成本统计维度,默认为集群下所有Pod。取值:
|
Dimension | 成本筛选值,若填写即指定请求某个维度值。
|
LabelSelector | 通过应用( |
TimeUnit | 成本数据统计时间。可选值包括 |
Summary | 设置为 |
成本数据指标
cpu
:单位为核。gpu
:单位为卡。memory
:单位为KB。perCorePricing
:当前Pod或所查询应用所在的节点的单位CPU核的价格,中国站单位为¥,国际站单位为$。costRatio
:当前Pod或所查询应用占整个集群成本比例,例如值为0.2时,表明所选应用的成本占总集群成本的20%。cost
:当前Pod或所查询应用在查询时间范围内的成本,中国站单位为¥,国际站单位为$。customCost
:当前Pod或所查询应用在查询时间范围内的定价成本。
获取成本数据命令
示例一:获取集群所有Pod数据最近一小时的成本数据
获取命令
kubectl get --raw "/api/v1/namespaces/kube-system/services/ack-metrics-adapter-api-service:8080/proxy/cost"
预期输出
示例二:获取某一个命名空间所有Pod的数据最近一小时的成本数据
示例说明
获取default命名空间所有Pod最近一小时的成本数据。请替换命名空间取值为实际命名空间名称。
获取命令
kubectl get --raw "/api/v1/namespaces/kube-system/services/ack-metrics-adapter-api-service:8080/proxy/cost?DimensionType=Namespace&Dimension=default"| jq .
预期输出
示例三:获取某一个Pod最近一小时的成本数据
示例说明
获取名为nginx-deployment-basic-75d6678cbb-lg8v5的Pod的最近一小时的成本数据。请替换Pod名称为实际的Pod名称。
获取命令
kubectl get --raw "/api/v1/namespaces/kube-system/services/ack-metrics-adapter-api-service:8080/proxy/cost?DimensionType=Pod&Dimension=pod=nginx-deployment-basic-75d6678cbb-lg8v5"| jq .
预期输出
示例四:通过LabelSelector筛选的方式获取成本数据
示例说明
LabelSelector与DimensionType可以同时作为筛选条件使用,两个条件为“且”的关系。以下示例为获取带有Labelapp=sample-app
的所有Pod的最近一小时的成本数据。请将应用标签替换为实际标签。
获取命令
kubectl get --raw "/api/v1/namespaces/kube-system/services/ack-metrics-adapter-api-service:8080/proxy/cost?LabelSelector=app=nginx"| jq .
预期输出
示例五:获取最近1天的Pod数据
示例说明
获取名为nginx-deployment-basic-75d6678cbb-lg8v5的Pod的最近一天的成本数据。请替换Pod名称为实际Pod名称。
获取命令
kubectl get --raw "/api/v1/namespaces/kube-system/services/ack-metrics-adapter-api-service:8080/proxy/cost?DimensionType=Pod&Dimension=pod=nginx-deployment-basic-75d6678cbb-lg8v5&TimeUnit=day"| jq .
预期输出
示例六:获取某一命名空间的成本数据总量
示例说明
获取default命名空间的成本数据总量。请替换命名空间名称为实际命名空间。
获取命令
kubectl get --raw "/api/v1/namespaces/kube-system/services/ack-metrics-adapter-api-service:8080/proxy/cost?DimensionType=Namespace&Dimension=default&Summary=true"| jq .
预期输出
相关文档
Cost V2 API支持设定更灵活的时间范围,提供Pod、Namespace、Label、Controller、Controller Kind等维度的实时估算成本查询,请参见通过Cost V2 API获取。
Allocation API结合了账单数据,提供业务分摊账单的费用,可用于对账,请参见通过Allocation API获取。