安裝 Kubecost 和存取儀表板 - Amazon EKS

協助改善此頁面

想要為此使用者指南做出貢獻? 捲動至此頁面底部,然後在 上選取編輯此頁面 GitHub。您的貢獻將幫助我們的使用者指南更適合所有人。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

安裝 Kubecost 和存取儀表板

Amazon EKS支援 Kubecost,您可以使用它來監控依 細分的成本 Kubernetes 資源,包括 Pods、節點、命名空間和標籤。本主題涵蓋安裝 Kubecost,並存取 Kubecost 儀表板。

Amazon EKS提供 AWS 最佳化的套件 Kubecost 以取得叢集成本可見性。您可以使用現有的 AWS 支援協議來取得支援。如需可用版本 的詳細資訊 Kubecost,請參閱瞭解更多有關熊本的資訊

作為 Kubernetes 平台管理員和財務領導者,您可以使用 Kubecost 以視覺化方式呈現 Amazon EKS費用明細、分配成本,以及向應用程式團隊等組織單位收費。您可以根據內部團隊和業務單位的實際 AWS 帳單,提供透明且準確的成本資料。此外,您還可以根據他們的基礎設施環境和叢集內的使用模式,獲得客製化的成本最佳化建議。

注意

Kubecost v2 推出數個主要的新功能。進一步了解 Kubecost v2。

如需關於 Kubecost,請參閱 Kubecost 文件中)。

使用 Helm 安裝 Kubecost

必要條件
  • 現有的 Amazon EKS叢集。若要部署叢集,請參閱 開始使用 Amazon EKS。叢集必須具有 Amazon EC2節點,因為您無法執行 Kubecost Fargate 節點上的 。

  • 已在裝置或 AWS CloudShell上安裝 kubectl 命令列工具。版本可與 相同,或最多可以比 更早或更晚的一個次要版本 Kubernetes 叢集的版本。例如,如果您的叢集版本為 1.30,則可以搭配使用 kubectl 1.291.301.31 版。若要安裝或升級 kubectl,請參閱 設定 kubectl 和 eksctl

  • 已在裝置或 AWS CloudShell上設定 Helm 3.9.0 版或更新版本。若要安裝或更新 Helm,請參閱 使用 部署應用程式 Helm 在 Amazon 上 EKS

  • 如果您的叢集是 1.23 版或更新版本,則必須在您的叢集上安裝 存放 Kubernetes 使用 Amazon 的磁碟區 EBS

  1. 判斷 的版本 Kubecost 進行安裝。您可以在 Amazon ECR Public Gallery 中查看 kubecost/cost-analyzer 的可用版本。如需 相容性的詳細資訊 Kubecost 版本和 AmazonEKS,請參閱 Kubecost 文件中的環境需求

  2. 安裝 Kubecost 使用下列命令。Replace (取代) 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。您可以依照 與 EKSAmazon 成本監控 整合中的文件,自訂部署以使用 Amazon Managed Service for Prometheus。如需您可以設定的所有其他設定清單,請參閱 上的範例組態檔案 GitHub。

    您可以移除 Kubecost 使用下列命令從您的叢集。

    helm uninstall kubecost --namespace kubecost kubectl delete ns kubecost

使用 Amazon EKS 附加元件安裝 Kubecost

Amazon EKS 附加元件可減少升級 Kubecost 和管理授權的複雜性。EKS 附加元件已與 AWS 市場整合。

  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。

存取 Kubecost Dashboard

  1. 確定必要的 Pods 正在執行。

    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 Load Balancer Controller 公開 Kubecost 和 Amazon Cognito 用於身分驗證、授權和使用者管理。如需詳細資訊,請參閱如何使用 Application Load Balancer 和 Amazon Cognito 來驗證您 的使用者 Kubernetes Web 應用程式

  3. 在您完成上一個步驟的同一部裝置上,開啟 Web 瀏覽器並輸入下列位址。

    http://localhost:9090

    您會看到 Kubecost 瀏覽器中的概觀頁面。可能需要 5-10 分鐘的時間 Kubecost 收集指標。您可以看到您的 Amazon EKS支出,包括累積叢集成本、關聯的 Kubernetes 資產成本和每月彙總支出。

    Kubecost 儀表板
  4. 若要追蹤叢集層級的成本,請標記您的 Amazon EKS 資源以進行計費。如需詳細資訊,請參閱標記您的資源以便計費

您也可以在儀表板的左窗格中選取相應項目來檢視以下資訊:
  • 成本分配 – 檢視過去七天內每個命名空間和其他維度的每月 Amazon EKS成本和累積成本。這有助於了解應用程式哪些部分有助於 Amazon EKS支出。

  • 資產 – 檢視與您的 Amazon EKS 資源相關聯的基礎設施資產成本 AWS 。