View a markdown version of this page

了解有关 Kubecost 的更多信息 - Amazon EKS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

帮助改进此页面

要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。

了解有关 Kubecost 的更多信息

Amazon EKS 提供 Amazon 优化版 Kubecost 捆绑包,以便了解集群成本。Amazon EKS 支持 Kubecost,您可以使用该功能监控按 Kubernetes 资源 [包括容器组(pod)、节点、命名空间和标签] 细分的成本。

本主题将介绍 Kubecost 的可用版本以及可用套餐之间的区别。EKS 支持 Kubecost 版本 1、版本 2 和版本 3。每个版本都有不同的套餐。您可以为 Amazon EKS 集群使用 Amazon EKS 优化版 Kubecost 捆绑包,无需支付额外费用。您可能需要为使用相关 Amazon 服务(例如 Amazon Managed Service for Prometheus)付费。同时,您还可以使用现有的 Amazon 支持协议获取支持。

作为 Kubernetes 平台管理员和财务主管,您可以使用 Kubecost 可视化 Amazon EKS 费用明细、分配成本以及向应用程序团队等组织部门退款。您可以根据内部团队和业务部门的实际 Amazon 账单为其提供透明、准确的成本数据。此外,您还可以根据他们的基础设施环境及其集群内的使用模式获得定制的成本优化建议。有关 Kubecost 的更多信息,请参阅 Kubecost 文档。

Kubecost 的自定义捆绑包与免费版本的 Kubecost(也称为 OpenCost)之间有何区别?

Amazon 与 Kubecost 合作提供了一个自定义版本的 Kubecost。此版本包括一部分商业功能,无需额外付费。有关 Kubecost 的自定义捆绑包中包含的功能,请参阅下表。

Kubecost v3

Kubecost v2 与 v3 有何区别?

Kubecost 3.0 是一项重大架构升级,它提供了显著更快的性能、增强的可扩展性和主动优化功能。最重要的变化是迁移到 ClickHouse 数据库,替换了 2.8 版的 DuckDB,后者大规模提供了更快的查询速度和更可靠的性能。Kubecost 3.0 还引入了一个统一代理,它结合了 Kubecost 和 Cloudability 功能,消除了对 Prometheus 的依赖,减少了内存占用,同时保持了 OpenCost 的兼容性。

重要

升级到 v3 前请查看 Kubecost 文档。从 v2 迁移需要仔细规划,并且可能会在转换期间影响报告的可用性。Helm 图表的位置已更改为 public.ecr.aws/kubecost/kubecost

v3 中的主要架构改进:

  • ClickHouse 数据库:取代 DuckDB,以实现更快的查询速度和更好的可扩展性

  • 统一代理:结合了 Kubecost 和 Cloudability 功能,从而消除了对 Prometheus 的依赖

  • 适用于多集群的 S3 兼容存储:对于多集群部署,v3 使用与 S3 兼容的对象存储(适用于 EKS 客户的 Amazon S3),而不是与 Prometheus 兼容的存储,例如 Amazon Managed Service for Prometheus。FinOps 代理从 Kubernetes API 中提取指标并推送到兼容 S3 的存储,然后聚合器提取该数据,执行派生步骤,并在前端显示结果。有关更多信息,请参阅 Kubecost 文档中的多集群安装辅助集群指南

  • 减少内存占用:在保持功能的同时大幅降低资源需求

  • 简化的架构:单容器容器组(pod)拓扑,可实现独立扩展并提高韧性

  • 增强自动化:通过多集群感知和自定义配置文件进行的自动化容器请求大小调整

v3 中经 Amazon EKS 优化的捆绑包益处:

经 Amazon EKS 优化的 Kubecost 捆绑包仍可免费使用,并且不受 Kubecost v3 免费套餐中新增的 10 万美元支出上限的限制。无论支出水平如何,EKS 用户都能完全使用 Kubernetes 所提供的所有支出功能。

核心功能对比:

功能 Kubecost 免费套餐 3.0 Amazon EKS 优化版 Kubecost 捆绑包 3.0 Kubecost 企业版 3.0

集群成本可见性

集群数量不限,设置 30 天内 10 万美元的支出门槛

统一多集群,无支出限制

在无限数量的环境(即多云)中统一且不限数量的集群

数据库后端

ClickHouse(本地)

ClickHouse 具有兼容 S3 的存储空间,用于存储多集群指标

带有自定义数据库选项的 ClickHouse

性能

与 v2 相比,查询速度大幅提升

与 v2 相比,查询速度大幅提升

与 v2 相比,查询速度大幅提升

内存占用空间

与 v2 相比有所降低(不依赖于 Prometheus)

与 v2 相比有所降低(不依赖于 Prometheus)

与 v2 相比有所降低(不依赖于 Prometheus)

自动调整容器请求大小

可用(限于 250 个核心)

可用,无核心限制

可用,无核心限制

支出限额

30 天内支出 10 万美元

没有支出限额

没有支出限额

多集群自动化

有限

具有安全消息收发功能的全面多集群感知

具有安全消息收发功能的全面多集群感知

Kubecost v2

Kubecost v1 与 v2 有何区别?

Kubecost 2.0 是对先前版本的重大升级,包含了重大新功能,如全新的 API 后端。请注意,分配资产 API 完全向后兼容。请查看 Kubecost 文档以确保平稳转换。有关增强功能的完整列表,请参阅 Kubecost v2.0 announcementthe full release notes

重要

升级前请查看 Kubecost 文档。升级可能会影响报告的可用性。

核心功能对比:

功能 Kubecost 免费套餐 2.0 Amazon EKS 优化版 Kubecost 捆绑包 2.0 Kubecost 企业版 2.0

集群成本可见性

最多 250 个核心的无限集群

与 Amazon Managed Service for Prometheus 集成时的统一多集群,无核心限制

在无限数量的环境(即多云)中统一且不限数量的集群

部署

用户托管

用户托管

用户托管、Kubecost 托管(专用租户)、SaaS

支持的数据库

本地 Prometheus

Amazon Managed Service for Prometheus 或本地 Prometheus

任何 Prometheus 风格和自定义数据库

数据库保留支持(原始指标)

15 天

无限历史数据

无限历史数据

Kubecost API 和 UI 保留率(ETL)

15 天

15 天

无限制

混合云可见性

-

Amazon EKS 和 Amazon EKS Anywhere 集群

多云和混合云

提醒和定期报告

仅在主集群上支持,限制为 250 个核心

所有集群上的效率提醒、预算提醒、支出变化提醒及更多支持

所有集群上的效率提醒、预算提醒、支出变化提醒及更多支持

已保存的报告

-

使用 15 天指标的报告

使用无限历史数据的报告和指标

云账单集成

仅在主集群上支持,限制为 250 个核心

Amazon 自定义定价支持(包括多个集群和多个账户)

任何云的自定义定价支持

节省建议

仅在主集群上支持,限制为 250 个核心

主集群见解,但没有 250 个核心的限制

多集群洞察

治理:审计

-

-

审计历史成本事件

单点登录(SSO)支持

-

支持 Amazon Cognito

Okta、Auth0、PingID、keyCloak 和其他任何自定义服务

使用 SAML 2.0 的基于角色的访问控制(RBAC)

-

-

Okta、Auth0、PingID、keyCloak 和其他任何自定义服务

企业培训和引导

-

-

全方位服务培训和 FinOps 引导

团队

-

-

新功能:

以下功能有指标限制:

  • Kubecost 聚合器

  • 网络监控

  • Kubecost 操作

  • 集合

  • 异常检测

  • 合理调整容器请求大小

  • Kubecost 预测

  • 用于筛选和聚合的自动完成功能

指标限制:

指标 Kubecost 免费套餐 2.0 Amazon EKS 优化版 Kubecost 捆绑包 2.0 Kubecost 企业版 2.0

集群大小

最多 250 个核心的无限集群

无限制

无限制

指标保留

15 天

15 天

无限制

多集群支持

不可用

可用

可用

核心限制

每个集群 250 个核心

没有核心限制

没有核心限制

Kubecost v1

功能 Kubecost 免费套餐 Amazon EKS 优化版 Kubecost 捆绑包 Kubecost 企业版

部署

用户托管

用户托管

用户托管或 Kubecost 托管(SaaS)

支持的集群数量

无限制

无限制

无限制

支持的数据库

本地 Prometheus

本地 Prometheus 或 Amazon Managed Service for Prometheus

Prometheus、Amazon Managed Service for Prometheus、Cortex 或 Thanos

数据库保留支持

15 天

无限历史数据

无限历史数据

Kubecost API 保留(ETL)

15 天

15 天

无限历史数据

集群成本可见性

单个集群

统一多集群

统一多集群

混合云可见性

-

Amazon EKS 和 Amazon EKS Anywhere 集群

多云和混合云支持

提醒和定期报告

-

支持效率提醒、预算提醒、支出变化提醒等

支持效率提醒、预算提醒、支出变化提醒等

保存的报告

-

基于 15 天数据的报告

基于无限历史数据的报告

云账单集成

每个单独的集群都需要

Amazon 自定义定价支持(包括多个集群和多个账户)

Amazon 自定义定价支持(包括多个集群和多个账户)

节省建议

单集群洞察

单集群洞察

多集群洞察

治理:审计

-

-

审计历史成本事件

单点登录(SSO)支持

-

支持 Amazon Cognito

Okta、Auth0、PingID、keyCloak

使用 SAML 2.0 的基于角色的访问控制(RBAC)

-

-

Okta、Auth0、PingID、keyCloak

企业培训和引导

-

-

全方位服务培训和 FinOps 引导

常见问题

请参阅以下有关将 Kubecost 与 Amazon EKS 结合使用的常见问题和答案。

什么是 Kubecost API 保留(ETL)功能?

Kubecost ETL 功能可汇总和组织各种指标,以显示不同粒度级别的成本可见性(例如 namespace-levelpod-leveldeployment-level)。对于 Amazon EKS 优化版 Kubecost 捆绑包,客户可以获得最近 15 天的指标数据和见解。

什么是提醒和定期报告功能? 它包括哪些提醒和报告?

借助 Kubecost 提醒,团队可以实时获得有关 Kubecost 支出和云支出的动态。借助定期报告,团队能够获得有关历史 Kubecost 和云支出的自定义视图。这两者都可以使用 Kubecost UI 或 Helm 值来配置。它们支持电子邮件、Slack 和 Microsoft Teams。

保存的报告包含哪些内容?

Kubecost 保存的报告是有关成本和效率指标的预定义视图。其中包括按集群、命名空间、标签等划分的成本。

什么是云账单集成?

通过与 Amazon 账单 API 集成,可让 Kubecost 显示集群之外的成本(例如 Amazon S3 成本)。此外,通过这种集成,还可让 Kubecost 根据实际账单核对 Kubecost 的集群内预测,从而可以考虑竞价型实例使用情况、节省计划和企业折扣。

节省建议包含哪些内容?

Kubecost 提供了相关的洞察和自动功能,可帮助用户优化其 Kubernetes 基础设施和支出。

此功能是否收费?

不收费。无需支付额外费用,您就能使用 Amazon EKS 优化版 Kubecost 捆绑包。如果您需要未包括在此捆绑包中的其他 Kubecost 功能,则可以通过 Amazon Marketplace 购买 Kubecost 企业许可证,也可以直接从 Kubecost 购买。

是否支持 Amazon EKS 优化版 Kubecost 捆绑包

支持,但前提是您使用的是 Amazon EKS 优化版 Kubecost 捆绑包

如何支持 Amazon EKS 优化版 Kubecost 捆绑包

您可以通过联系 Amazon 借助 Amazon 支持团队打开支持案例。

我是否需要许可证才能使用 Amazon EKS 集成提供的 Kubecost 功能?

否。

我是否可以将 Kubecost 与 Amazon 成本和使用情况报告集成,以获得更准确的报告?

可以。您可以将 Kubecost 配置为从 Amazon 成本和使用情况报告中摄取数据,以获取准确的成本可见性,包括折扣、竞价型定价、预留实例定价,以及其他内容。有关更多信息,请参阅 Kubecost 文档中的 Amazon 云账单集成

此版本是否支持 Amazon EC2 上自行管理的 Kubernetes 集群的成本管理?

不支持。Amazon EKS 优化版 Kubecost 捆绑包仅与 Amazon EKS 集群兼容。

Kubecost 是否能够追踪 Amazon Fargate 上的 Amazon EKS 的成本?

Kubecost 已尽最大努力显示 Fargate 上的 Amazon EKS 的集群成本可见性,但准确性低于 Amazon EC2 上的 Amazon EKS。这主要是由于您的使用量的计费方式不同。使用 Fargate 上的 Amazon EKS,将针对消耗的资源为您计费。使用 Amazon EC2 节点上的 Amazon EKS,将根据预配置的资源为您计费。Kubecost 将根据节点规格(包括 CPU、RAM 和临时存储)来计算 Amazon EC2 节点的成本。使用 Fargate,将根据为 Fargate 容器组(pod)请求的资源计算成本。

我如何获得 Kubecost 的更新和新版本?

您可以使用标准的 Helm 升级程序升级您的 Kubecost 版本。对于 Kubecost v3 版本,最新版本可在新的 Helm 图表位置 public.ecr.aws/kubecost/kubecost 获取。之前的版本(v1 和 v2)仍在 Amazon ECR 公开映像浏览馆中提供。

重要

升级到 Kubecost v3 版本时,请注意 Helm 图表的位置已从 public.ecr.aws/kubecost/cost-analyzer 更改为 public.ecr.aws/kubecost/kubecost。相应地更新您的 Helm 存储库引用。

是否支持 kubectl-cost CLI? 我如何安装它?

支持。Kubectl-cost 是一个通过 Kubecost(Apache 2.0 许可证)使用的开源工具,提供针对 Kubernetes 成本分配指标的 CLI 访问权限。要安装 kubectl-cost,请参阅 GitHub 上的安装

是否支持 Kubernetes 用户界面? 我如何访问它?

Kubecost 提供了一个 Web 控制面板,您可以通过 kubectl 端口转发、入口或负载均衡器访问该控制面板。您也可以使用 Amazon 负载均衡器控制器公开 Kubecost,并使用 Amazon Cognito 进行身份验证、授权和用户管理。有关更多信息,请参阅 Amazon 博客上的如何使用应用程序负载均衡器和 Amazon Cognito 对您的 Kubernetes Web 应用程序的用户进行身份验证

Kubecost v3 版本中新的 10 万美元支出限额会影响 Amazon EKS 用户吗?

否。Kubecost v3 免费套餐中引入的 30 天内的 10 万美元的支出限额不适用于经 Amazon EKS 优化的 Kubecost 捆绑包用户。无论支出水平如何,EKS 用户都能完全使用 Kubernetes 所提供的所有支出功能。

Kubecost v3 版本中有哪些主要的性能改进?

Kubecost v3 版本通过其 ClickHouse 数据库后端引入了显著的性能改进,与 v2.8 版本中使用的 DuckDB 相比,该后端提供的查询速度要快得多。此外,统一代理架构消除了对 Prometheus 的依赖,从而减少了内存占用,同时仍能保持完整的功能以及与 OpenCost 的兼容性。

Kubecost v3 版本将什么存储后端用于多集群部署?

Kubecost v3 版本使用兼容 S3 的对象存储(适用于 EKS 客户的 Amazon S3)进行多集群指标存储,以替代 v2 中使用的兼容 Prometheus 的存储。FinOps 代理从 Kubernetes API 中收集指标并将其推送到兼容 S3 的存储。然后,聚合器会检索这些数据,进行成本计算,并在前端显示计算结果。有关多集群设置的详细说明,请参阅 Kubecost 文档中的多集群安装辅助集群指南

我可以直接从 Kubecost v1 升级到 v3 版本吗?

否。不支持从 v1 直接升级到 v3。必须先升级到 v2,然后再迁移到 v3。查看 Kubecost 文档以获取详细的迁移指导,因为该过程需要精心规划,并且在转换期间可能会对报告的可用性造成影响。

其他 Kubecost 功能

  • Kubecost v1、v2 和 v3 版本均提供以下功能。

    • 导出成本指标:经 Amazon EKS 优化的成本监控会随 Kubecost 一同部署。在 v1 和 v2 版本中,Kubecost 与 Prometheus 集成,用于指标存储和处理。在 v3 版本中,Kubecost 使用 ClickHouse 数据库来显著提高性能,同时保持 OpenCost 的兼容性。对于 v3 版本中的多集群部署,指标存储在兼容 S3 的对象存储(适用于 EKS 客户的 Amazon S3)中,而不是兼容 Prometheus 的存储。Kubecost 读取指标,执行成本分配计算,并通过其 API 和用户界面提供相关数据。架构会因版本不同而有所变化,但其功能始终保持一致。

      Kubecost 架构

      您可以编写查询,以将 Kubecost 数据提取到当前的商业智能系统,进行进一步分析。您也可以将其用作当前 Grafana 控制面板的数据来源,以显示您的内部团队熟悉的 Amazon EKS 集群成本。要了解有关如何编写查询的更多信息,请参阅 OpenCost 配置文档或使用 Kubecost Github 存储库中的示例 Grafana JSON 模型作为参考。

    • Amazon 成本和使用情况报告集成 – 为了对 Amazon EKS 集群执行成本分配计算,Kubecost 会从 Amazon 价目表 API 中检索 Amazon 服务和 Amazon 资源的公开定价信息。您还可以将 Kubecost 和 Amazon 成本和使用情况报告集成,以提高特定于 Amazon 账户的定价信息的准确性。这些信息包括企业折扣计划、预留实例使用情况、Savings Plans 以及 Spot 使用情况。要了解有关 Amazon 成本和使用情况报告集成工作原理的更多信息,请参阅 Kubecost 文档中的 Amazon 云账单集成