本文介绍如何查看集群成本洞察及集群成本洞察的能力。
索引
前提条件
- 确保Kubernetes集群的版本为1.18.8及以上,否则请升级集群。具体操作,请参见升级ACK集群K8s版本。
- 已开启阿里云Prometheus监控。具体操作,请参见开启阿里云Prometheus监控。
开启成本洞察功能
您可以通过以下两种方式开启成本洞察功能。
方式一:通过onectl CLI配置和安装成本分析组件(推荐)
- 安装配置onectl。具体操作,请参见使用onectl配置注册集群。
- 完成
onectl configure
配置后,执行以下命令,自动配置和安装ack-cost-exporter组件。onectl addon install ack-cost-exporter
预期输出:
Successfully create ram policy 'externalK8sPolicy-ack-cost-exporter'. Addon ack-cost-exporter installed
方式二:手动配置安装
- 授予ack-cost-exporter组件的云服务访问权限。
- 安装ack-cost-exporter组件。
查看集群成本洞察分析
- 登录容器服务管理控制台,在左侧导航栏选择集群。
- 在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
- 在右侧成本洞察页面,单击集群维度页签,查看集群的成本可视化大盘。 说明
- 在开启成本洞察功能后第二天08: 00自动显示账单数据。
- 选择右上角下拉菜单,可查看不同时间范围的集群成本可视化大盘数据。
集群成本分析能力
在成本洞察页面,单击集群维度页签,查看集群的成本可视化大盘。

功能 | 序号 | 描述 |
---|---|---|
集群成本统计选项 | ① | 集群成本统计指标选项,包含优惠后实际账单成本和原价账单成本统计:
说明 集群中应用部分成本统计只会按原价账单成本进行统计,包括Namespace、Pod等应用维度成本统计。 |
时间范围 | ② | 选择大盘时间范围,默认为最近7天。您可以设置该项查看不同时间范围的成本、资源趋势。 |
通过昨日、本周、本月花费统计对集群成本概要分析。 | ③ | 成本费用统计,其中昨日集群花费、花费日环比、本周累计花费和本月累计花费为本集群的云资源的账单成本统计。 本周累计、本月累计花费分别为自然周、自然月的账单花费统计,由于账单出账周期为T+1,周一将没有本周累计花费数据,每月第一日也将没有本月累计花费的统计值。 花费日环比为昨日集群成本与前一天之间的环比:
|
通过成本趋势判断集群成本、资源浪费概要情况 | ④ | 集群花费和集群容量趋势图,黄色曲线表示成本消费,蓝色曲线表示实际的集群容量。通常情况下,两条曲线会存在一定的相关性。 当对比两者相关性后,如果发现两者呈现不一致的趋势,表示集群的单位核成本异常,需要检查是否使用了更贵的资源。 |

功能 | 序号 | 描述 |
---|---|---|
通过命名空间进行部门成本分账 | ⑤⑨ | ⑤为集群中各命名空间需求资源的成本分布图。其中idle部分为集群中未被分配资源的成本占比,⑨为集群中各命名空间的需求资源的成本分布趋势图。 说明
在一个集群中,可能存在各种不同的规格、付费方式的节点类型,当您通过命名空间进行分账时,不能仅通过每个命名空间的资源申请值进行判断,同时需要考虑命名空间下Pod所在节点情况。 成本洞察将每个节点的实时费用进行了转换。在统计命名空间维度的费用时,转换为: Σ(Pod资源申请/节点容量)*节点单位价格 这种方式可以精确的估算出命名空间的成本费用,不过由于用户折扣、代金券抵扣、包年包月等各种延迟计费策略,可能会导致命名空间的成本费用和集群的实际账单费用不一致。但是,可以通过命名空间的成本占比乘以集群总费用的方式获得命名空间级别的分账。 |
通过集群总成本趋势分析集群成本 | ⑦ | 每日集群的总费用成本趋势统计。 |
通过云产品费用趋势与比例分析云产品成本 | ⑥⑧ | ⑥为集群中各云产品的成本花费占比统计,⑧为集群中各云产品的成本花费趋势统计。 在集群中会包含多种不同的云产品,不同的使用方式、计费模型会导致云产品的费用上存在比较多的差异。可以通过成本趋势和组合看到不同的云产品消费,从而进行成本决策。 |
通过节点池成本费用趋势分析集群成本 | ⑩ | 集群中各节点池、或虚拟节点(virsual-kubernetes)的节点账单成本分析。 |

功能 | 序号 | 描述 |
---|---|---|
集群的计算资源请求、使用率趋势 | ⑪ | 使用场景:
趋势图含义:
应用已分配且未使用资源=绿色柱状图-黄色柱状图 集群剩余资源可分配量=Y轴-绿色柱状图 分析流程:
|
集群每日账单列表 | ⑫ | 云产品维度、云产品实例维度的集群每日账单列表。 |
使用成本洞察分析云下IDC节点及应用的成本
成本洞察支持注册集群中IDC节点、以及节点上应用的成本洞察分析能力。成本洞察默认以0.2元/Core*Hour的单价计算注册集群中IDC节点、以及节点上应用的成本。您可以通过以下方式配置自定义IDC节点的单价。- 为所有IDC节点配置统一的价格在kube-system命名空间下,通过为ack-cost-exporter的Deployment中配置env环境变量参数
DefaultIDCPricePerCPUCoreHour
,配置所有IDC节点的统一价格。说明 此处价格为每单位CPU核时(元/Core*Hour)的价格。env: # 配置每台IDC节点每单位CPU核时价格为0.3元。 - name: DefaultIDCPricePerCPUCoreHour value: "0.3"
- 为某个节点配置单独的价格
在对应节点Node中增加label
"node.kubernetes.io/price-per-day”
,为该节点单独配置节点价格。说明 此处价格为此节点一天的总价。执行以下命令,为某个节点配置定义每天该节点总价为100元。
kubectl label nodes <node-name> node.kubernetes.io/price-per-day="100"
常见问题
为什么开启成本可视化后没有数据显示?检查RAM角色授权操作已完成。具体操作,请参见开启成本分析功能的步骤3。 成本分析需要集群的监控数据和费用数据,监控数据在开启后3min内即可开始采集,费用相关的数据需要从集群开启成本分析后的第二天08: 00才有数据显示。
为什么命名空间的费用相加与实际的费用账单不相等?命名空间的费用是通过成本估算来进行核算的,并非直接通过账单分析得出。因此,在做费用估算的时候,是通过目录价进行计算的,当集群的花费包含代金券、折扣、节约计划等抵扣策略的时候,会出现一定的数据偏差。但是,可以通过命名空间的比例乘以集群的总费用进行费用的分账。
为什么有些节点上的Pod数据无法获取成本数据? 检查RAM角色授权操作已完成,并确认授权策略中包含"ecs:DescribeDisks"权限。具体操作,请参见开启成本分析功能的步骤3。
为什么账单中展示的云产品没有包括集群使用的所有云产品?成本分析只统计本集群独享的云产品,对于多集群共享的云产品,不在成本分析的账单统计范围内。成本洞察功能依赖阿里云用户中心标签统计功能,依赖云产品key:ack.aliyun.com value:{{集群ClusterId}}标。当在阿里云用户中心费用标签页面关闭此标签,将会导致集群成本统计失效。此时您需要在阿里云用户中心费用标签页面开启ack.aliyun.com标签的分析统计功能。