ACK的成本分析功能可以协助企业IT成本管理人员从多维度了解集群资源使用量及成本分布,提供成本节约建议,从而提升集群资源利用率。成本分析提供了资源浪费检查、资源费用预测等功能,通过账单分析、用量统计与实时询价相结合的方式实现对Pod维度的准确估算;逻辑维度通过应用的标签、命名空间和集群三个维度进行聚合分析;资源维度通过节点池和集群两个维度进行聚合分析。本文介绍ACK成本分析的核心原理和功能。

背景信息

通过云原生技术进行IT信息化转型是很多企业正在进行的变革,IT成本优化是企业信息化转型的重要目标。您可以通过使用云原生技术的共享、隔离、弹性等能力,非常简单地进行成本优化。相比基于传统的容量规划的IT成本管理方式,云原生的IT成本管理会带来更大的挑战,其中最常遇到的问题如下:

  • 如何准确地统计ACK集群的费用?
  • 如何更准确地估算一个Pod的费用?
  • 如何更准确地估算在线应用或离线作业的费用?
  • 如何通过命名空间(部门)来分摊ACK集群费用?
  • 如何通过可视化的方式发现集群中的成本浪费并进行优化?
图 1. 不同集群利用率
集群利用率

核心原理

  • 成本分析如何准确地统计ACK集群的费用?

    ACK成本分析将Kubernetes集群中生成的云资源(包括但不限于ECS、SLB、云盘、EIP、ECI)打上集群ID的唯一标签,在费用中心生成账单时可通过唯一标签来确定资源和集群的从属关系。

  • 成本分析如何更准确地估算一个Pod的费用?

    估算一个Pod的费用有以下三个难题:

    • 资源和Pod的计费单元不是一对一关系,相同的Pod在不同的资源价格估算有所不同。
    • 资源和Pod的生命周期与计费周期不同,通常Pod的计费周期远小于资源。
    • 不同类型的Pod估算费用的计费单元有所不同,CPU、内存和GPU是三种最常见的资源敏感类型。
    为解决上述三个问题,ACK成本分析提出了离线账单分析与实时费用估算两种模型相结合的方式进行Pod的费用估算。 估算一个Pod费用时只能通过比例拆解的方式折算,计算Pod的费用比例是通过实时费用估算的,通过Pod所在资源的实时费用核时单价乘以Pod运行时长和Pod计费单元(CPU、内存和GPU的申请值大小)来估算出模拟价格,再用单个Pod的模拟价格除以所有Pod的估算价格即可算出一个比较准确的比例。最后再用这个比例乘以这个时间段范围内账单的总价,即可进行比较准确的Pod维度的分摊。
    说明 由于费用账单存在一定滞后性,通常包年包月的机器是每月出一次账单,按量付费是每天出一次账单,竞价实例是每5分钟调整一次单价。此外,当您使用了例如RI(预留实例券)、Saving Plan(节省计划)和代金券的时候,会自动在账单中进行抵扣,因此Pod费用估算只能通过比例拆解的方式进行折算。
  • 成本分析如何更准确地估算在线应用或离线作业的费用?

    ACK成本分析通过Label匹配的方式进行成本分拆和估算,拥有更大的聚合灵活性,让您可以通过Label实现任何维度的应用费用聚合与拆分,同时解决了不同作业类型的Pod生命周期会有较大的差异,在线应用Pod生命周期偏长,中间会有弹性伸缩的部分动态Pod创建和销毁,而离线作业的Pod生命周期比较短,不同架构的应用还可能存在多种角色的Pod(如:Spark的Driver和Executor),而且会有大量的动态资源(弹性ECS和ECI)生成的问题。

  • 成本分析如何通过命名空间(部门)来分摊ACK集群费用?

    命名空间是一组具有相同字段的Pod的聚合,准确估算Pod的成本占比后,通过计算命名空间下所有Pod相对于集群中所有Pod的费用比率,乘以集群的费用账单,可以实现命名空间级别的费用分摊。

  • 成本分析如何通过可视化的方式发现集群中的成本浪费并进行优化?

    成本浪费包含不合理的资源申请值、资源计费方式的优化、Pod不合理的调度和弹性策略的使用等。ACK成本分析基于资源、Pod的调度拓扑、实时单价和费用账单等多个维度提供了费用的分析、预测和节省建议,降低集群的成本浪费。

功能

ACK成本分析主要包含以下重要功能:
  • 云资源费用分析

    将Kubernetes集群下所有的云资源费用进行聚合,支持查看集群整体费用的同比与环比。

  • 集群费用趋势分析

    查看Kubernetes集群下所有云资源的消费趋势,分析热点云产品消费,协助成本节约决策。

  • 集群成本节约推荐

    将Kubernetes集群的费用趋势进行分析,提供资源用量和成本消费的相关性分析,提供成本节约建议。

  • 实时价格模拟预测

    将集群中计算资源的实时价格进行模拟,提供小时维度的成本预估,支持包年包月、按量付费、竞价付费等多种付费方式。

  • 命名空间资源分账

    根据命名空间拆分集群成本比例,提供实时成本预估、成本趋势变化、集群成本占比等能力。

  • 应用成本优化

    在命名空间下查看TOP 10的成本消耗最多的应用以及应用成本消费的趋势,提供应用维度的成本优化分析能力。