作为企业IT成本管理人员,如果您需要多维度了解集群资源使用量及成本分布,获取成本节约建议,从而提升集群资源利用率,您可以启用ACK集群提供的成本洞察功能。启用后,您可以查看指定财务治理周期内,指定集群、部门、应用的成本和资源使用情况,满足多种场景的成本估算、分摊与核算的需求。
阅读前提示
为了让您更好地使用成本洞察功能及配套的帮助文档,建议您阅读本文档,并了解以下概念:
成本估算:如何通过估算Pod成本,来计算部门、应用的估算成本。
成本分摊:如何聚合Pod成本,来完成部门、应用的费用分摊。
成本核算:如何通过自行配置资源单价实现企业内部的成本核算。
成本数据大盘:如何在控制台查看成本洞察数据的大盘。
API获取成本数据:如何通过Kubernetes API获取成本数据,以便基于成本数据进行二次开发。
成本数据模型:成本洞察功能遵循的成本数据模型与定义。
为什么使用成本洞察
通过云原生技术进行IT信息化转型是很多企业正在进行的变革,IT成本优化是企业信息化转型的重要目标。您可以通过使用云原生技术的共享、隔离、弹性等能力,非常简单地进行成本优化。相比基于传统的容量规划的IT成本管理方式,云原生的IT成本管理会带来更大的挑战。典型问题如下:
如何准确地统计ACK集群的费用
如何更准确地估算一个Pod的费用
如何更准确地估算在线应用或离线作业的费用
如何通过命名空间(部门)来分摊ACK集群管理费用
如何通过可视化的方式发现集群中的成本浪费并进行优化
使用场景——成本估算、分摊与核算
Pod成本估算
在云上的ACK集群中,估算一个Pod的成本并不容易。因为Pod作为最小的部署单元,和云资源不存在一对一关系,生命周期通常也短于云资源。为此,ACK基于实时成本和资源监控数据相结合的方式进行Pod成本估算,帮助您较为准确地计算Pod关联的所有资源的总成本(常见的资源包括CPU、内存和GPU)。更多信息,请参见成本估算策略介绍。
部门、应用成本分摊
在企业执行FinOps前,一般需要完成资源规划。常见的规划方式是将部门规划到指定命名空间下,部门下的不同应用通过标签(Label)进行区分。在这种情况下,部门成本和应用成本实则是Pod成本在不同维度下的聚合体现。
但如果通过直接聚合Pod估算成本来作为部门和应用成本,也可能无法满足企业对账需求:一是无法叠加RI(预留实例券)、Saving Plan(节省计划)和代金券等抵扣方案,二是忽略了集群内其他云资源成本(例如Prometheus、SLS)。因此,在成本分摊时,还需要按估算成本的比例分摊集群账单,来计算Pod分摊成本,再进行上层业务成本的聚合。
企业内部成本核算
在企业内部成本核算场景或IDC场景,您可能并不通过云成本系统读取资源成本,而是自行配置资源单价。例如,企业运维团队对资源进行二次定价,并向业务团队转售,从而规范资源申请配型,以及实现内部成本核算。更多信息,请参见自定义成本核算的策略。
成本洞察大盘的维度
成本洞察默认提供一种计量和计费相结合的成本分摊算法,并基于该算法提供四种维度的成本洞察大盘,包括集群维度、命名空间维度、节点池维度和应用维度。您可以在ACK控制台启用成本洞察功能,查看对应维度的大盘。关于大盘的详细说明,请参见成本洞察功能说明。
维度 | 说明 |
集群维度 | 对集群整体资源和成本情况的洞察,能够反映集群成本的整体健康状况。对于一个集群,首先需要关注整个集群的费用趋势变化,以判断成本是否符合预期。在集群成本变化呈现非正常趋势时,您可以结合大盘数据进一步排查根因。 |
命名空间维度 | 如果您的企业以命名空间维度划分部门或业务,您可以筛选命名空间,查看指定命名空间的资源和成本信息。 |
节点池维度 | 集群资源维度成本情况的洞察。以ECS为主的计算资源往往是集群费用的主要组成部分,也是IT运维人员最直接管理的资源。节点池成本洞察能够为您提供节点池资源使用分析和付费策略的选择。 |
应用维度 | 侧重于场景化的成本优化。您可以使用Label通配符(Label Selector)筛选出指定应用,进行成本和资源的统计。基于Label Selector,您不仅可以监控单个应用的成本和资源用量,还可以监控多个相关应用。 例如,在大数据工作流的场景下,您可以为流程中的所有应用加相同的Label,从而对整个工作流业务进行成本分析。 |
集成与拓展
成本数据模型
成本数据模型是成本洞察的数据模型遵循的数据模型与定义,可以准确衡量云上ACK集群的成本,并将成本分摊给不同维度的业务单元。更多信息,请参见成本数据模型介绍。
通过API获取成本数据
如果您想多维度了解集群资源的使用情况及成本分布,您可以启用ACK成本洞察功能上报相关数据并将数据存储在阿里云Prometheus监控中。您可以通过HTTP API命令查看上报数据,以获取集群成本优化的建议,也便于您获取成本数据进行二次开发。
ACK提供Cost API、Cost V2 API、Allocation API用于查询实时估算成本或业务分摊账单。更多信息,请参见通过API获取成本数据概述。