成本洞察功能说明

您可以通过ACK成本洞察功能查看集群、命名空间、节点池和应用等成本可视化大盘。本文介绍如何查看集群洞察分析及成本可视化大盘。

前提条件

注意事项

  • 在开启成本洞察功能后第二天08: 00自动显示账单数据。

  • 选择右上角下拉菜单,可查看不同时间范围的集群成本可视化大盘数据。

操作入口

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择成本套件 > 成本洞察

  3. 成本洞察页面,单击不同页签,查看成本可视化大盘。

集群维度成本分析

筛选维度

image.png

功能

序号

描述

集群成本统计选项

集群成本统计指标选项,包含优惠后实际账单成本和原价账单成本统计:

  • 优惠后实际账单成本:大盘默认选项。成本统计时,统计集群中所有云资源的应付金额。

  • 原价账单成本统计:成本统计时,统计集群中所有云资源的官网价。

关于应付金额和官网价的详细介绍,请参见明细账单

说明

集群中应用部分成本统计只会按原价账单成本进行统计,包括Namespace、Pod等应用维度成本统计。

成本分摊模型选项

成本分摊模型选项,包含单资源模型和权重混合资源模型,具体分为如下几类。

  • CPU模型:大盘默认选项。使用CPU资源请求量估算Pod成本。

  • 内存模型:使用内存资源请求量估算Pod成本。

  • CPU-内存混合模型(推荐权重):对CPU指标和内存指标加权估算Pod成本,使用系统推荐权重。

  • CPU-内存混合模型(自定义权重):对CPU指标和内存指标加权估算Pod成本。使用此分摊模型,您需要先选择分摊模型为CPU-内存混合模型(自定义权重),再编辑CPU权重设置

关于成本分摊模型选择的详细介绍,请参见成本估算策略介绍

时间范围

选择大盘时间范围,默认为最近7天。您可以设置该项查看不同时间范围的成本、资源趋势。

集群成本概览

image

功能

序号

描述

查看成本分摊模型

这里的展示的数据结果与您选择的成本分摊模型选项有关。大盘默认CPU模型选项,使用CPU资源请求量估算Pod成本。

通过昨日、本周、本月花费统计对集群成本概要分析

成本费用统计,其中昨日集群花费、花费日环比、本周累计花费和本月累计花费为本集群的云资源的账单成本统计。

本周累计、本月累计花费分别为自然周、自然月的账单花费统计。由于账单出账周期存在T+1延迟,周一将不显示本周累计花费数据,每月第一日也将不显示本月累计花费的统计值。

花费日环比为昨日集群成本与前一天之间的环比:

  • 当相对昨日费用的变化比率的字体颜色为绿色时,表示相比前一日成本有所降低。

  • 当相对昨日费用的变化比率的字体颜色为红色时,表示相比前一日成本有所增长。

通过成本趋势判断集群成本、资源浪费概要情况

集群花费和集群容量趋势图,黄色曲线表示成本消费,蓝色曲线表示实际的集群容量。通常情况下,两条曲线会存在一定的相关性。

对比两者相关性,如果发现两者呈现趋势不一致,表明集群的单位核成本异常。请检查是否有资源花费过高。

以命名空间维度查看实时成本估算和费用分摊

④⑤

④为集群内各命名空间的实时估算成本,命名空间成本是其中所有Pod估算成本之和,⑤为各命名空间的费用分摊值,是命名空间按估算比例对集群实际费用的分摊。

说明
  • 命名空间的成本统计按原价账单成本计算。

  • 命名空间下的Pod若未配置Resource Request (CPU),则视为未申明集群资源需求量,不参与命名空间成本统计计算。

在一个集群中,可能存在各种不同规格、不同付费方式的节点类型。当您通过命名空间进行分账时,不能仅通过每个命名空间的资源申请值进行判断,还需要考虑命名空间下Pod所在节点的情况。

成本洞察将每个节点的实时费用进行了转换。在统计命名空间维度的费用时,转换为:

Σ(Pod资源申请/节点容量)*节点单位价格

这种方式可以精确估算命名空间的成本费用。用户折扣、代金券抵扣、包年包月等各种延迟计费策略可能会导致命名空间的成本费用和集群的实际账单费用不一致。但您可以通过命名空间的成本占比乘以集群总费用的方式获得命名空间级别的分账。

稳定性&效率分析

image

功能

序号

描述

查看集群总资源用量

展示集群中各种QoS的Pod数量以及总资源用量。

查看集群Pod资源使用率

提供集群所有Pod的基础信息和资源使用率(Usage/Request),同时支持过滤和排序。您可以通过该功能批量查看集群中资源水位最高或最低的工作负载。

查看集群Burstable Pod的资源配置情况

查看QoS类为Burstable Pod的资源配置情况,同时支持过滤和排序。您可以通过该功能查看每个Burstable Pod的CPU、内存等资源的请求(Request)和限制(Limit)情况,便于您了解Pod所消耗的集群资源并识别潜在的资源瓶颈。

查看集群中BestEffort Pod的资源使用量

查看QoS类为BestEffort Pod的资源配置情况,这类Pod一般具有较高稳定性风险,您可以通过过滤和排序列表,来检查是否有预期外的BestEffort Pod,以便及时处理来规避风险。

关于稳定性&效率分析功能的更多信息,请参见使用成本洞察识别集群资源风险

集群费用分析

image

功能

序号

描述

通过云产品费用趋势与比例分析云产品成本

①②

③为集群中各云产品的成本花费占比统计,④为集群中各云产品的成本花费趋势统计。

一个集群中会包含多种云产品,不同云产品的使用方式、计费模型不同,会导致云产品产生的费用存在差异。您可以通过成本趋势和组合查看不同的云产品消费情况,从而进行成本决策。

通过集群总成本趋势分析集群成本

每日集群的总费用成本趋势统计。

通过节点池成本费用趋势分析集群成本

集群中各节点池或虚拟节点(Virtual Node)的节点账单成本分析。

以命名空间维度查看实时成本估算趋势

在一个集群中,可能存在各种不同规格、不同付费方式的节点类型。当您通过命名空间进行分账时,不能仅通过每个命名空间的资源申请值进行判断,还需要考虑命名空间下Pod所在节点的情况。

成本洞察将每个节点的实时费用进行了转换。在统计命名空间维度的费用时,转换为:

Σ(Pod资源申请/节点容量)*节点单位价格

这种方式可以精确估算命名空间的成本费用。用户折扣、代金券抵扣、包年包月等各种延迟计费策略可能会导致命名空间的成本费用和集群的实际账单费用不一致。但您可以通过命名空间的成本占比乘以集群总费用的方式获得命名空间级别的分账。

集群的计算资源请求、使用率趋势

使用场景:

  • 用于分析集群中的水位、容量是否存在资源浪费的情况。

  • 当出现弹性等场景时,集群水位会产生周期性波动,此图表可供您规划资源容量。

趋势图含义:

  • Y轴:整体集群的计算资源总容量(Capacity),代表整体集群能承载的应用资源数。

  • 绿色柱状图:当前小时集群中所有被分配(Request)的计算资源需求数。

  • 黄色柱状图:当前小时集群中真实Pod容器中进程使用的计算资源(Usage),即应用真实使用资源。

应用已分配且未使用资源=绿色柱状图-黄色柱状图

集群剩余资源可分配量=Y轴-绿色柱状图

分析流程:

  • 未分配资源浪费:您可以参考集群剩余资源可分配量,使用集群中未被分配使用的浪费资源。通过调整集群中Pod的资源需求量(Request),或适当降配。推荐保持剩余资源可分配量为总集群资源的20%左右。

  • 已分配未使用资源浪费:您可以参考集群已分配未使用部分资源量,配合命名空间大盘中浪费应用、Pod的排名,找到分配资源量过大但实际使用资源量较小的应用,对资源分配量(Request)进行降配。

  • 弹性扩缩场景:业务呈现周期波动等常见场景下,可参考柱状图的波动水位进行资源容量规划,并配置合适的弹性策略。

集群计费详细信息

⑦⑧

云产品维度、云产品实例维度的集群每日账单列表。

命名空间维度成本分析

命名空间大盘能够通过命名空间筛选、展示各命名空间的资源和成本信息。命名空间常对应于公司的部门或团队。

筛选维度

image.png

功能

序号

描述

命名空间

选择分析的集群的命名空间,默认为ALL,即整个集群。

成本分摊模型选项

成本分摊模型选项,包含单资源模型和权重混合资源模型,具体分为如下几类。

  • CPU模型:大盘默认选项。使用CPU资源请求量估算Pod成本

  • 内存模型:使用内存资源请求量估算Pod成本。

  • CPU-内存混合模型(推荐权重):对CPU指标和内存指标加权估算Pod成本,使用系统推荐权重。

  • CPU-内存混合模型(自定义权重):对CPU指标和内存指标加权估算Pod成本。使用此分摊模型,您需要先选择分摊模型为CPU-内存混合模型(自定义权重),再编辑CPU权重设置

关于成本分摊模型选择的详细介绍,请参见成本估算策略介绍

命名空间成本统计选项

集群成本统计指标选项,包含优惠后实际账单成本和原价账单成本统计:

  • 优惠后实际账单成本:大盘默认选项。成本统计时,统计集群中所有云资源的应付金额。

  • 原价账单成本统计:成本统计时,统计集群中所有云资源的官网价。

关于应付金额和官网价的详细介绍,请参见明细账单

时间范围

选择大盘时间范围,默认为最近7天。您可以设置该项查看不同时间范围的成本、资源趋势。

费用概览

image.png

功能

序号

描述

命名空间的资源统计、成本估算和费用分摊

您可以通过CPU、内存指标判断命名空间资源浪费情况。指标含义如下:

  • CPU资源

    • CPU资源使用量:当前该命名空间真实消耗的CPU核数。

    • CPU资源请求量:当前该命名空间已被分配的CPU核数。

    • CPU资源总容量:集群总CPU核数。

    • CPU资源使用率:当前该命名空间的CPU使用量占请求量的比例。

  • 内存资源:

    • 内存资源使用量:当前该命名空间真实消耗的内存量。

    • 内存资源请求量:当前该命名空间已被分配的内存量。

    • 内存资源总容量:集群总内存量。

    • 内存资源使用率:当前该命名空间的内存使用量占请求量的比例。

  • GPU资源:

    • GPU显存资源使用量:当前该命名空间真实消耗的GPU显存量。

    • GPU显存资源分配量:当前该命名空间已被分配的GPU显存量。

    • GPU显存资源总容量:集群总GPU显存量。

    • GPU显存资源利用率:当前该命名空间的GPU显存使用量占分配量的比例。

命名空间下应用的成本统计。

  • 命名空间实时成本估算:命名空间的实时估算成本,是命名空间内所有Pod估算成本之和。

  • 命名空间费用分摊:命名空间的费用分摊值,是命名空间按估算比例对集群实际费用的分摊。

成本明细及趋势

image.png

功能

序号

描述

每核每小时的单价

Pod所在的节点的CPU每核每小时的单价趋势统计。

CPU/内存资源使用率趋势

命名空间下CPU和内存资源使用率趋势统计。

资源请求量和使用趋势

资源分配情况和真实消耗情况的趋势,蓝色曲线表示已分配的资源,红色曲线表示真实消耗的资源。

Pod调度时,节点会为Pod预分配一定的资源,但容器进程真实消耗的资源通常与预分配资源不一致。③能反映出二者间的关系,从而供您进行浪费资源的优化。

命名空间应用成本趋势

命名空间下应用成本趋势统计。

总花费成本为命名空间在该时间范围内按原价账单成本统计的成本花费。

该命名空间花费占集群总花费的百分比,表示选中的命名空间占总集群成本的花费比例。

image.png

功能

序号

描述

Pod资源请求量排行

统计分析集群中Pod资源请求量大的应用,用于容量规划等场景。

Pod资源使用率排行

查看资源利用率低的Pod应用副本,供您查看闲置应用。

Pod资源闲置排行

资源闲置率为Pod未被使用的计算资源占已分配资源的比重,能够反映Pod的资源浪费情况。

通过分析命名空间中资源浪费最多的Pod,您可以直观找到造成命名空间资源浪费的主要应用,从而分析浪费原因,针对性地设计资源优化策略。

节点池维度成本分析

节点池大盘提供了集群资源维度的成本洞察,能够为您提供节点池资源使用分析和付费策略的选择。

节点池侧重资源的维度,站在不同节点池的视角进行资源成本的规划与治理。例如GPU节点池这类资源可能分属多个部门,难以通过命名空间维度分析成本,而通过节点池可以直接从资源维度设置策略,进行成本优化。

筛选维度

image.png

功能

序号

描述

节点池成本统计选项

集群成本统计指标选项,包含优惠后实际账单成本和原价账单成本统计:

  • 优惠后实际账单成本:大盘默认选项。成本统计时,统计集群中所有云资源的应付金额。

  • 原价账单成本统计:成本统计时,统计集群中所有云资源的官网价。

关于应付金额和官网价的详细介绍,请参见明细账单

节点池

选择分析的集群的节点池,默认为All,即所有节点池。

时间范围

选择大盘时间范围,默认为最近7天。您可以设置该项查看不同时间范围的成本、资源趋势。

费用概览

image.png

功能

序号

描述

节点池成本费用

  • 当相对昨日费用的变化比率的字体颜色为绿色时,表示相比前一日的成本有所降低。

  • 当相对昨日费用的变化比率的字体颜色为红色时,表示相比前一日的成本有所增长。

节点每核时单价

一段时间内节点池中节点每核时的单价费用变化的趋势。

节点成本变化趋势及占总集群费用比例的变化趋势

③④

节点池中节点的花费成本变化趋势,以及该节点池节点占总集群费用比例的变化趋势。

付费策略及花费预估

image.png

功能

序号

描述

通过付费策略预测成本节省空间,协助您优化资源组合和付费策略。

①②④

一段时间内不同付费售卖策略节点实例数的占比分析和变化趋势,以及节点池节点不同售卖策略节点的费用占比分析和变化趋势。支持如下付费售卖策略:

  • PayAsYouGo:按量付费。

  • PayByPeriod:包年包月。

  • Spot:抢占式实例。

③⑥

更换节点付费策略成本节省预测分析,分析当前集群该节点池中所有节点全部更换为不同付费售卖策略后,可以节省或会带来的超额成本,帮助您优化资源组合和付费策略。

节点池中所有节点费用与付费策略的统计。

应用维度成本分析

应用大盘以Label通配符匹配的方式,能够筛选出您关心的应用进行成本、资源的统计,侧重于场景化的成本优化,典型场景包括大数据业务、AI业务、弹性业务。

通过Label通配符匹配的方式,您不仅可以监控单应用的成本和资源用量,还可以对多个有相关性的应用进行监控。例如大数据工作流的场景,可以为流程中的所有应用加上一致性的Label,从而对整个工作流业务进行成本分析。

筛选维度

image.png

功能

序号

描述

节点池成本统计选项

集群成本统计指标选项,包含优惠后实际账单成本和原价账单成本统计:

  • 优惠后实际账单成本:大盘默认选项。成本统计时,统计集群中所有云资源的应付金额。

  • 原价账单成本统计:成本统计时,统计集群中所有云资源的官网价。

关于应付金额和官网价的详细介绍,请参见明细账单

命名空间

选择分析的集群的命名空间,默认为All,即所有命名空间。

标签对筛选

输入应用Pod的标签。支持使用=:连接标签的key和value,例如app=ack-cost-exporterapp:ack-cost-exporter

如果标签key中包含/.-,需将这些符号转换为_,并且去掉所有"。例如: "sparkoperator.k8s.io/submission-id":"db08a66a-c0b7-4d32-8013-02ac4f8eff4c"

需要转换为: sparkoperator_k8s_io_submission_id:db08a66a-c0b7-4d32-8013-02ac4f8eff4c

成本分摊模型选项

成本分摊模型选项,包含单资源模型和权重混合资源模型,具体分为如下几类。

  • CPU模型:大盘默认选项。使用CPU资源请求量估算Pod成本

  • 内存模型:使用内存资源请求量估算Pod成本。

  • CPU-内存混合模型(推荐权重):对CPU指标和内存指标加权估算Pod成本,使用系统推荐权重。

  • CPU-内存混合模型(自定义权重):对CPU指标和内存指标加权估算Pod成本。使用此分摊模型,您需要先选择分摊模型为CPU-内存混合模型(自定义权重),再编辑CPU权重设置

关于成本分摊模型选择的详细介绍,请参见成本估算策略介绍

时间范围

选择大盘时间范围,默认为最近7天。您可以设置该项查看不同时间范围的成本、资源趋势。

费用概览

image.png

image.png

功能

序号

描述

应用花费及计算资源利用率

实时查看应用的成本,对资源利用率进行分析。指标说明如下:

  • 应用花费:当前所选应用在大盘所查询时间范围的花费成本,按原价账单成本统计。

  • 应用当前副本数:统计分析该应用峰谷值的Pod副本数。

  • 计算资源利用率:CPU和内存的利用率(Usage / Request)。

  • 所在节点每小时成本:应用所在的每个节点每核时的单位价格。

  • 应用运行时间:按应用的运行时间统计。

  • 总消耗的核时资源数:应用总消耗的核时资源数。

  • 应用占整个集群/命名空间的资源利用率:该应用资源在集群、命名空间中的资源占比。

Pod维度业务成本分析

查看应用中包含的各Pod的资源情况和实时估算成本。

应用预估花费及Pod规模趋势

  • 应用预估花费趋势:一段时间内应用每小时费用成本、单位核时价格的变化的趋势。

  • 应用Pod规模趋势:应用的Pod规模副本数趋势统计。

CPU、内存和GPU请求和使用趋势

CPU、内存、GPU的请求和使用趋势图含义:

  • Y轴:整体集群的计算资源总容量(Capacity),代表整体集群能承载的应用资源数。

  • 蓝色柱状图:当前小时集群中所有被分配(Request)的计算资源需求数。

  • 黄色柱状图:当前小时集群中真实Pod容器中进程使用的计算资源(Usage),即应用真实使用资源。

应用已分配且未使用资源=蓝色柱状图-黄色柱状图

集群剩余资源可分配量=Y轴-蓝色柱状图

分析浪费流程:

  • 未分配资源浪费:您可以参考集群剩余资源可分配量,使用集群中未被分配使用的浪费资源。通过调整集群中Pod的资源需求量(Request),或适当降配。推荐保持剩余资源可分配量为总集群资源的20%左右。

  • 已分配未使用资源浪费:您可以参考集群已分配未使用部分资源量,配合命名空间大盘中浪费应用、Pod的排名,找到分配资源量过大但实际使用资源量较小的应用,对资源分配量(Request)进行降配。

  • 弹性扩缩场景:在业务呈现周期波动等常见场景中,参考柱状图的波动水位规划资源容量,以及配置合适的弹性策略。

付费策略及Pod用量

image.png

功能

序号

描述

更换节点付费策略成本节省预测分析

分析当前应用中所有节点全部更换为不同付费售卖策略后,可节省或会带来的超额成本,帮助您优化资源组合和付费策略。

查看应用视角的成本分析

②③

包含应用所在节点付费策略统计,应用所在节点的每小时成本和付费策略统计,用于分析应用中所在节点的不同付费策略分布与趋势。

应用各Pod的资源、成本闲置排名

通过成本费用分析部门成本消耗情况,帮助您识别闲置率高的应用,指标说明如下:

  • Pod资源请求量排名:统计分析集群中Pod资源请求量大的应用,适用于容量规划等场景。

  • Pod资源使用率排名:查看资源利用率低的Pod应用副本,帮助发现浪费应用。

  • Pod资源闲置排行:Pod未被使用的资源占已分配资源的比重,能够反映Pod的资源浪费情况。

    通过识别命名空间中资源浪费最多的Pod,您可以直观看出造成命名空间资源浪费的主要应用,从而分析浪费原因,有针对性地设计资源优化策略。

注册集群可使用ACK成本洞察分析云上、云下IDC节点及应用成本

成本洞察支持注册集群中IDC节点以及节点上应用的成本洞察分析能力。成本洞察默认以0.3元/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才有数据显示。

  • 检查集群是否配置NAT网关。由于部分地域不支持通过内网endpoint查询账单,请确认您的集群具备访问公网能力。

  • 花费日环比明日预测花费需要连续采集两天的费用数据后才显示。

为什么命名空间的费用相加与实际的费用账单不相等?

命名空间的费用是通过成本估算来进行核算的,并非直接通过账单分析得出。因此,在做费用估算的时候,是通过目录价进行计算的,当集群的花费包含代金券、折扣、节约计划等抵扣策略的时候,会出现一定的数据偏差。但是,可以通过命名空间的比例乘以集群的总费用进行费用的分账。

为什么有些节点上的Pod数据无法获取成本数据?

检查RAM角色授权操作已完成,并确认授权策略中包含"ecs:DescribeDisks"权限。具体操作,请参见开启成本分析功能的步骤3

为什么账单中展示的云产品没有包括集群使用的所有云产品?

成本分析只统计本集群独享的云产品,对于多集群共享的云产品,不在成本分析的账单统计范围内。

成本洞察功能依赖费用与成本控制台的费用标签功能,即依赖于云产品标签中的特定标识(key:value=ack.aliyun.com:{{集群ClusterId}})来实现集群成本的追踪与统计。如果您在费用标签页面关闭了此标签,那么集群级别的成本统计将会失效。为了解决成本统计失效问题,您需要重新在费用标签管理页面启用ack.aliyun.comack.alibabacloud.com/nodepool-id标签。

为什么本月/本周累计花费比实际低

集群从成本洞察组件成功开通后才开始统计产生的费用,不会统计组件开通前的数据。