选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

安装 Kubecost 并访问控制面板

聚焦模式
安装 Kubecost 并访问控制面板 - Amazon EKS

帮助改进此页面

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

帮助改进此页面

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

Amazon EKS 支持 Kubecost,您可以使用该功能监控按 Kubernetes 资源 [包括容器组(pod)、节点、命名空间和标签] 细分的成本。本主题将介绍如何安装 Kubecost 和访问 Kubecost 控制面板。

Amazon EKS 提供 AWS 优化版 Kubecost 捆绑包,以便了解集群成本。您可以使用现有的 AWS 支持协议获取支持。有关 Kubecost 可用版本的更多信息,请参阅了解有关 Kubecost 的更多信息

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

注意

Kubecost v2 引入了几项重要的新功能。了解有关 Kubecost v2 的更多信息。

有关 Kubecost 的更多信息,请参阅 Kubecost 文档。

使用 Amazon EKS 插件安装 Kubecost

注意

Kubecost 可作为 Amazon EKS 附加组件进行安装,使用 Amazon EKS 优化的 Kubecost 捆绑包,无需支付额外费用即可享受其他功能。有关更多信息,请参阅 Kubecost v2

Amazon EKS 插件可降低升级 Kubecost 和管理许可证的复杂性。EKS 插件已与 AWS Marketplace 集成。

  1. 在 AWS Marketplace 控制台中查看 Kubecost 并订阅。

  2. 确定集群的名称和区域。验证您已登录到 AWS CLI 并且具有管理 EKS 所需的充分权限。

  3. 创建 Kubecost 插件。

    aws eks create-addon --addon-name kubecost_kubecost --cluster-name $YOUR_CLUSTER_NAME --region $AWS_REGION

了解如何移除 EKS 插件,例如 Kubecost。

使用 Helm 安装 Kubecost

  • 现有 Amazon EKS 集群。要部署一个角色,请参阅开始使用 Amazon EKS。集群必须具有 Amazon EC2 节点,因为您无法在 Fargate 节点上运行 Kubecost。

  • 您的设备或 AWS CloudShell 上安装了 kubectl 命令行工具。该版本可以与集群的 Kubernetes 版本相同,或者最多早于或晚于该版本一个次要版本。例如,如果您的集群版本为 1.29,则可以将 kubectl1.281.291.30 版本与之配合使用。要安装或升级 kubectl,请参阅 设置 kubectl 和 eksctl

  • 您的设备或 AWS CloudShell 上配置了 3.9.0 版或更高版本的 Helm。要安装或更新 Helm,请参阅 使用 Helm 在 Amazon EKS 上部署应用程序

  • 如果您的集群是 1.23 或更高版本,您必须在集群上安装使用 Amazon EBS 存储 Kubernetes 卷

    1. 确定要安装的 Kubecost 版本。您可以在 Amazon ECR Public Gallery 中的 kubecost/cost-analyzer 上查看可用的版本。有关 Kubecost 版本与 Amazon EKS 的兼容性的更多信息,请参阅 Kubecost 文档中的 Environment Requirements

    2. 使用以下命令安装 Kubecost。请将 kubecost-version 替换为从 ECR 中检索到的值,例如 1.108.1

      helm upgrade -i kubecost oci://public.ecr.aws/kubecost/cost-analyzer --version kubecost-version \ --namespace kubecost --create-namespace \ -f https://raw.githubusercontent.com/kubecost/cost-analyzer-helm-chart/develop/cost-analyzer/values-eks-cost-monitoring.yaml

      Kubecost 会定期发布新版本。您可以使用 helm upgrade 更新您的版本。默认情况下,安装包括本地 Prometheus 服务器和 kube-state-metrics。您可以按照与 Amazon EKS 成本监控集成中的文档来自定义部署,以使用 Amazon Managed Service for Prometheus。有关您可以配置的所有其他设置的列表,请参阅 GitHub 上的示例配置文件

      可以使用以下命令从集群中删除 Kubecost。

      helm uninstall kubecost --namespace kubecost kubectl delete ns kubecost

访问 Kubecost 控制面板

  1. 确保所需的容器组(pod)正在运行。

    kubectl get pods -n kubecost

    示例输出如下。

    NAME READY STATUS RESTARTS AGE kubecost-cost-analyzer-b9788c99f-5vj5b 2/2 Running 0 3h27m kubecost-kube-state-metrics-99bb8c55b-bn2br 1/1 Running 0 3h27m kubecost-prometheus-server-7d9967bfc8-9c8p7 2/2 Running 0 3h27m
  2. 在设备上启用端口转发以公开 Kubecost 控制面板。

    kubectl port-forward --namespace kubecost deployment/kubecost-cost-analyzer 9090

    您也可以使用 AWS 负载均衡器控制器公开 Kubecost,并使用 Amazon Cognito 进行身份验证、授权和用户管理。有关更多信息,请参阅如何使用应用程序负载均衡器和 Amazon Cognito 对您的 Kubernetes Web 应用程序的用户进行身份验证

  3. 在完成上一步的同一台设备上,打开 Web 浏览器并输入以下地址。

    http://localhost:9090

    浏览器将显示“Kubecost 概述”页面。Kubecost 可能需要 5-10 分钟来收集指标。您可以查看 Amazon EKS 支出,包括累计的集群成本、关联的 Kubernetes 资产成本和每月汇总支出。

    Kubecost 控制面板
  4. 要跟踪集群级别的成本,请标记您的 Amazon EKS 资源以进行计费。有关更多信息,请参阅 标记资源以便于计费

    • 成本分配 – 查看过去七天内每个命名空间和其他维度的 Amazon EKS 月度成本和累计成本。这有助于了解应用程序的哪些部分产生 Amazon EKS 支出。

    • 资产 – 查看与您的 Amazon EKS 资源关联的 AWS 基础设施资产的成本。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。