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

協助改善此頁面

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

想要為此使用者指南做出貢獻? 選擇 GitHub 上的編輯此頁面連結,該連結位於每個頁面的右窗格中。您的貢獻將幫助我們的使用者指南更適合每個人。

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

安裝 Kubecost 和存取儀表板

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

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

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

注意

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

如需 的詳細資訊Kubecost,請參閱 Kubecost 文件。

使用 Amazon EKS 附加元件安裝 Kubecost

注意

使用 Amazon EKS 最佳化 Kubecost 套件,將 Kubecost 安裝為 Amazon EKS 附加元件,並受益於其他功能,無需額外付費。如需詳細資訊,請參閱Kubecost v2

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。

使用 Helm 安裝 Kubecost

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

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

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

  • 如果您的叢集是版本 1.23或更新版本,則必須在叢集上安裝具有 Amazon EBS 的 Store Kubernetes 磁碟區。

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

    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。您可以依照 Integrating with Amazon EKS cost monitoring (與 Amazon EKS 成本監控整合) 所述來自訂部署,以使用 Amazon Managed Service for Prometheus。如需可設定之所有其他設定的清單,請參閱 GitHub 上的範例組態檔案

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

      helm uninstall kubecost --namespace kubecost kubectl delete ns 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控制器公開Kubecost並使用 Amazon Cognito 進行身分驗證、授權和使用者管理。如需詳細資訊,請參閱如何使用 Application Load Balancer 和 Amazon Cognito 來驗證 Kubernetes Web 應用程式的使用者

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

    http://localhost:9090

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

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

    • Cost allocation (成本分配) – 檢視過去七天內每個命名空間和其他維度的每月 Amazon EKS 成本和累計成本。這有助於了解應用程式的哪些部分產生了 Amazon EKS 支出。

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