View a markdown version of this page

深入了解 Kubecost - Amazon EKS

協助改進此頁面

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

若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。

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

深入了解 Kubecost

Amazon EKS 提供 AWS 最佳化的 Kubecost 套件,以實現叢集成本可見性。Amazon EKS 支援 Kubecost,可讓您用於監控按 Kubernetes 資源 (包括 Pod、節點、命名空間和標籤) 細分的成本。

本主題涵蓋了 Kubecost 的可用版本,以及不同可用層級之間的差異。EKS 支援 Kubecost 第 1 版、第 2 版和第 3 版。每個版本都有不同的層級可供選擇。您可為 Amazon EKS 叢集使用 Amazon EKS 最佳化 Kubecost 套件,無需額外費用。您可能需要支付使用相關 AWS 服務的費用,例如 Amazon Managed Service for Prometheus。此外,您可以使用現有的 AWS 支援協議來取得支援。

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

自訂套件的 Kubecost 和免費版本的 Kubecost (也稱為 OpenCost) 有何區別?

AWS 和 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 Chart 位置已變更為 public.ecr.aws/kubecost/kubecost

v3 中的關鍵架構改進:

  • ClickHouse 資料庫:取代 DuckDB 以獲得更快的查詢和更佳的可擴展性

  • 統一代理程式:結合 Kubecost 和 Cloudability 功能,消除 Prometheus 相依性

  • 適用於多叢集的 S3-Compatible儲存體:對於多叢集部署,v3 使用 S3-compatible物件儲存體 (適用於 EKS 客戶的AWS S3),而不是 Amazon Managed Service for Prometheus 等 Prometheus 相容儲存體。FinOps 代理程式會從 Kubernetes API 提取指標並推送至 S3-compatible儲存體,然後彙總器會提取該資料、執行衍生步驟,並在前端顯示結果。如需詳細資訊,請參閱 Kubecost 文件中的多叢集安裝次要叢集指南

  • 減少記憶體足跡:大幅降低資源需求,同時維護功能

  • 簡化架構:適用於獨立擴展和改善彈性的單一容器 Pod 拓撲

  • 增強自動化:具有多叢集意識和自訂設定檔的自動化容器請求大小

v3 中的 Amazon EKS 最佳化套件優點:

Amazon EKS 最佳化 Kubecost 套件繼續免費提供,並免除 Kubecost v3 免費方案中引進的新 100,000 USD 花費限制。無論支出層級為何,EKS 使用者都會保留所有 Kubernetes 支出功能的完整存取權。

核心功能對比:

功能 Kubecost 免費方案 3.0 Amazon EKS 最佳化 Kubecost 套件 3.0 Kubecost Enterprise 3.0

叢集成本能見度

無限制叢集,在 30 天內以 100,000 USD 的支出進行門控

沒有支出限制的統一多叢集

跨無限數量環境 (即多重雲端) 的統一且無限數量的叢集

資料庫後端

ClickHouse (本機)

ClickHouse 搭配S3-compatible儲存

ClickHouse 與自訂資料庫選項

效能

與 v2 相比,查詢速度大幅加快

與 v2 相比,查詢速度大幅加快

與 v2 相比,查詢速度大幅加快

記憶體使用量

減少與 v2 (無 Prometheus 相依性)

減少與 v2 (無 Prometheus 相依性)

減少與 v2 (無 Prometheus 相依性)

自動化容器請求大小

可用 (僅限 250 個核心)

無核心限制提供

無核心限制提供

花費限制

30 天內 100,000 USD

沒有花費限制

沒有花費限制

多叢集自動化

有限

使用安全訊息的完整多叢集意識

使用安全訊息的完整多叢集意識

Kubecost v2

Kubecost v1 和 v2 之間有什麼差異?

Kubecost 2.0 是先前版本的重大升級,包含主要的新功能,包括全新的 API 後端。請注意,分配資產 API 完全向後相容。請檢閱 Kubecost 文件,確保順利轉換。有關增強功能的完整清單,請參閱 Kubecost v2.0 公告完整版本備註

重要

升級前,請檢閱 Kubecost 文件。升級可能會影響報告的可用性。

核心功能對比:

功能 Kubecost 免費方案 2.0 Amazon EKS 最佳化 Kubecost 套件 2.0 Kubecost Enterprise 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 個核心

的自訂定價支援 AWS (包括多個叢集和多個帳戶)

支援任何雲端的自訂定價

Savings 建議

僅主要叢集支援,限 250 個核心

主要叢集洞察,但沒有 250 個核心限制

多重叢集深入解析

治理:稽核

-

-

稽核歷史記錄成本事件

單一登入 (SSO) 支援

-

支援 Amazon Cognito

Okta、Auth0、PingID、KeyCloak 以及任何其他自訂項目

角色型存取控制 (RBAC) 與 SAML 2.0

-

-

Okta、Auth0、PingID、KeyCloak 以及任何其他自訂項目

企業培訓和入門

-

-

全方位服務培訓和 FinOps 入門

團隊

-

-

新功能:

以下功能有指標限制:

  • Kubecost 彙總工具

  • 網路監控

  • Kubecost 動作

  • 集合

  • 異常偵測

  • 容器請求資源大小調整

  • Kubecost 預測

  • 用於篩選和彙總的自動完成

指標限制:

指標 Kubecost 免費方案 2.0 Amazon EKS 最佳化 Kubecost 套件 2.0 Kubecost Enterprise 2.0

叢集大小

無限制叢集,最多 250 個核心

無限制

無限制

指標保留

15 天

15 天

無限制

多叢集支援

不適用

Available

Available

核心限制

每個叢集 250 個核心

無核心限制

無核心限制

Kubecost v1

功能 Kubecost 免費方案 Amazon EKS 最佳化 Kubecost 套件 Kubecost Enterprise

部署

使用者託管

使用者託管

使用者託管或 Kubecos 託管 (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 天資料的報告

使用無限期歷史記錄資料的報告

雲端計費整合

每一個叢集都需要

的自訂定價支援 AWS (包括多個叢集和多個帳戶)

的自訂定價支援 AWS (包括多個叢集和多個帳戶)

Savings 建議

單一叢集深入解析

單一叢集深入解析

多重叢集深入解析

治理:稽核

-

-

稽核歷史記錄成本事件

單一登入 (SSO) 支援

-

支援 Amazon Cognito

Okta、Auth0、PingID、KeyCloak

角色型存取控制 (RBAC) 與 SAML 2.0

-

-

Okta、Auth0、PingID、Keycloak

企業培訓和入門

-

-

全方位服務培訓和 FinOps 入門

常見問答集

請參閱以下有關搭配使用 Kubecost 與 Amazon EKS 的常見問題和解答。

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

Kubecost ETL 功能可彙總並整理指標,藉此顯示各種規模程度的成本能見度 (例如 namespace-levelpod-level,以及 deployment-level)。若為 Amazon EKS 最佳化 Kubecost 套件,客戶可從過去 15 天的指標中取得資料和深入解析。

什麼是提醒和週期性報告功能? 它包含哪些提醒和報告?

Kubecost 警示可讓團隊即時接收 Kubernetes 支出和雲端支出的更新。週期性報告可讓團隊接收歷史記錄 Kubecost 和雲端支出的自訂檢視。兩者均可使用 Kubecost UI 或 Helm 值來設定。他們支援電子郵件、Slack 和 Microsoft Teams。

儲存的報告包含哪些項目?

Kubecost 儲存的報告是成本和效率指標的預先定義檢視。它們包含依叢集、命名空間、標籤以及更多類別來區分的成本。

什麼是雲端帳單整合?

與 AWS 帳單 APIs整合可讓 Kubecost out-of-cluster(例如 Amazon S3)。此外,它也能讓 Kubecost 協調 Kubecost 具有實際計費資料的叢集內預測,以說明 Spot 使用量、Savings Plans 和企業折扣。

節省成本建議包括哪些項目?

Kubecost 提供深入解析和自動化功能,協助使用者最佳化 Kubernetes 基礎結構和支出。

此功能是否需要付費?

否。您可免費使用 Amazon EKS 最佳化 Kubecost 套件。如果您想要未包含的其他 Kubecost 功能,您可以透過 AWS Marketplace 或直接從 Kubecost 購買 Kubecost 的企業授權。

Amazon EKS 最佳化 Kubecost 套件是否提供支援?

是,僅在您使用 Amazon EKS 最佳化 Kubecost 套件時。

如何為 Amazon EKS 最佳化 Kubecost 套件取得支援?

您可以在聯絡 AWS中向支援團隊開啟 AWS 支援案例。

我是否需要授權才能使用 Amazon EKS 整合提供的 Kubecost 功能?

否。

我可以將 Kubecost 與 AWS 成本和用量報告整合,以獲得更準確的報告嗎?

是。您可以設定 Kubecost 從 AWS 成本和用量報告中擷取資料,以取得準確的成本可見性,包括折扣、Spot 定價、預留執行個體定價等。如需詳細資訊,請參閱 Kubecost 文件中的 AWS 雲端帳單整合

此版本是否支援 Amazon EC2 上自我管理 Kubernetes 叢集的成本管理?

否。Amazon EKS 最佳化 Kubecost 套件只與 Amazon EKS 叢集相容。

Kubecost 是否可以追蹤 AWS Fargate 上的 Amazon EKS 的成本?

Kubecost 會盡最大努力顯示在 Fargate 上使用 Amazon EKS 時的叢集成本情況,但準確度低於在 Amazon EC2 上使用 Amazon EKS。這主要是因為用量計費方式有所不同。在 Fargate 上使用 Amazon EKS 時,您是按耗用的資源付費。若使用 Amazon EC2 節點上的 Amazon EKS,您需要支付佈建資源的費用。Kubecost 會根據節點規格計算 Amazon EC2 節點的成本,包括 CPU、RAM 和暫時性儲存。使用 Fargate 時,系統會根據 Fargate Pod 所請求的資源來計算成本。

如何獲得更新和新版的 Kubecost?

您可使用標準 Helm 升級程序升級您的 Kubecost 版本。對於 Kubecost v3,最新版本可在新的 Helm Chart 位置 取得public.ecr.aws/kubecost/kubecost。舊版 (v1 和 v2) 仍可在 Amazon ECR Public Gallery 中使用。

重要

升級至 Kubecost v3 時,請注意 Helm Chart 位置已從 變更為 public.ecr.aws/kubecost/cost-analyzer public.ecr.aws/kubecost/kubecost。相應地更新您的 Helm 儲存庫參考。

是否支援 kubectl-cost CLI? 如何安裝?

是。Kubectl-cost 是 Kubecost 的開放原始碼工具 (Apache 2.0 License),提供對 Kubernetes 成本分配指標的 CLI 存取。若要安裝 kubectl-cost,請參閱 GitHub 上的 Installation (安裝)。

是否支援 Kubecost 使用者介面? 如何存取它?

Kubecost 提供 Web 儀表板,您可透過 kubectl 連接埠轉送、輸入或負載平衡器來存取。您也可以使用 AWS Load Balancer控制器公開 Kubecost,並使用 Amazon Cognito 進行身分驗證、授權和使用者管理。如需詳細資訊,請參閱 AWS 部落格上的如何使用 Application Load Balancer 和 Amazon Cognito 來驗證 Kubernetes Web 應用程式的使用者

Kubecost v3 中的新 10 萬美金支出限制是否會影響 Amazon EKS 使用者?

否。在 Kubecost v3 免費方案中引入超過 30 天的 100,000 USD 花費限制不適用於 Amazon EKS 最佳化 Kubecost 套件使用者。無論支出層級為何,EKS 使用者都會保留所有 Kubernetes 支出功能的完整存取權。

Kubecost v3 的主要效能改善為何?

Kubecost v3 透過 ClickHouse 資料庫後端引入了顯著的效能改進,與 v2.8 中使用的 DuckDB 相比,它提供了更快的查詢。此外,統一代理程式架構可消除 Prometheus 相依性,減少記憶體使用量,同時維持完整的功能和 OpenCost 相容性。

Kubecost v3 用於多叢集部署的儲存後端為何?

Kubecost v3 S3-compatible物件儲存 (適用於 EKS 客戶的AWS S3) 進行多叢集指標儲存,取代 v2 中使用的 Prometheus 相容儲存。FinOps 代理程式會從 Kubernetes API 收集指標,並將其推送至與 S3-compatible儲存。然後,彙總器會擷取此資料、執行成本計算,並在前端顯示結果。如需多叢集設定的詳細指示,請參閱 Kubecost 文件中的多叢集安裝次要叢集指南

我可以直接從 Kubecost v1 升級到 v3 嗎?

否。不支援從 v1 直接升級至 v3。您必須先升級至 v2,然後遷移至 v3。檢閱 Kubecost 文件以取得詳細的遷移指導,因為程序需要仔細規劃,並可能影響轉換期間的報告可用性。

其他 Kubecost 功能

  • 下列功能可在 Kubecost v1、v2 和 v3 中使用。

    • 匯出成本指標 – 使用 Kubecost 部署 Amazon EKS 最佳化成本監控。在 v1 和 v2 中,Kubecost 與 Prometheus 整合,以進行指標儲存和處理。在 v3 中,Kubecost 使用 ClickHouse 資料庫大幅改善效能,同時維持 OpenCost 相容性。對於 v3 中的多叢集部署,指標會儲存在 S3-compatible物件儲存體 (適用於 EKS 客戶的AWS S3) 中,而非 Prometheus 相容儲存體。Kubecost 會讀取指標、執行成本分配計算,並透過其 APIs和使用者介面提供資料。架構因版本而異,但會維持一致的功能。

      Kubecost 架構

      您可以撰寫查詢,將 Kubecost 資料擷取到您目前的商業智慧系統中,以進行進一步分析。您也可將其用作目前 Kubecost 儀表板的資料來源,以顯示您的內部團隊熟悉的 Amazon EKS 叢集成本。若要進一步了解如何撰寫查詢,請參閱 OpenCost 組態文件,或使用 Kubecost Github 儲存庫中的範例 Grafana JSON 模型做為參考。

    • AWS 成本和用量報告整合 – 為了執行 Amazon EKS 叢集的成本分配計算,Kubecost 會從 AWS 價格清單 API 擷取 AWS 服務 AWS 和資源的公有定價資訊。您也可以將 Kubecost 與 AWS 成本和用量報告整合,以提升 AWS 您帳戶特定定價資訊的準確性。這類資訊包括企業折扣方案、預留執行個體使用量、Savings Plans 和 Spot 使用量。若要進一步了解 AWS 成本和用量報告整合的運作方式,請參閱 Kubecost 文件中的AWS 雲端帳單整合