開源工具OpenCost監控Kubernetes云成本

Kubernetes是一個強大的平臺,用于管理云中的動態容器化應用,但可能很難理解成本發生在哪里。管理 Kubernetes 資源的成本效率可能是一個挑戰。OpenCost 是一種云成本監控工具,與 Kubernetes 無縫集成,可以實時跟蹤云支出,以便相應地優化資源。

OpenCost是一個開源 CNCF 沙盒項目和規范,用于實時監控與 Kubernetes 部署相關的云成本。該規范按服務、部署、命名空間、標簽等對當前和歷史 Kubernetes云支出和資源分配進行建模。這些數據對于理解和優化 Kubernetes 從應用到基礎設施的成本和性能至關重要。

一、要求和安裝

OpenCost使用Prometheus進行監控和指標存儲,從 Prometheus 社區的 Kubernetes Helm Chart安裝它。

1、安裝 Prometheus

首先使用以下命令安裝 Prometheus:

$ helm install my-prometheus --repo https://prometheus-community.github.io/helm-charts prometheus \
--namespace prometheus --create-namespace \
--set pushgateway.enabled=false --set alertmanager.enabled=false -f \
https://raw.githubusercontent.com/opencost/opencost/develop/kubernetes/prometheus/extraScrapeConfigs.yaml

2、安裝 OpenCost

接下來使用 kubectl 命令安裝 OpenCost:

$ kubectl apply --namespace opencost -f \
https://raw.githubusercontent.com/opencost/opencost/develop/kubernetes/opencost.yaml

此命令將 OpenCost 部署到集群并開始收集數據,這就是大多數安裝所需的全部內容??梢允褂媚阕约旱?Prometheus安裝或使用 OpenCost Helm Chart自定義部署。

3、測試和訪問

OpenCost會自動檢測它是否在 AWS、Azure 還是 GCP 上運行,可以將其配置為為本地 Kubernetes 部署提供定價。首先轉發 API 和 UI 訪問的端口:

$ kubectl port-forward --namespace opencost service/opencost 9003 9090

大約五分鐘內可以驗證 UI 和服務器是否正在運行,并且可以通過 http://localhost:9090 訪問 OpenCost UI。

4、監控成本

準備好開始使用部署到 Kubernetes 集群的 OpenCost 來監控云成本。OpenCost 儀表板提供對云支出的實時可見性,使你能夠識別成本異常并優化云資源。你可以按節點、命名空間、pod、標簽等查看云支出。

OpenCost監控Kubernetes云成本

 

kubectl cost插件提供了對 Kubernetes 成本分配指標的簡單 CLI 查詢。它允許開發人員、運營商和其他人快速確定任何 Kubernetes 工作負載的成本和效率。

$ kubectl cost --service-port 9003 \
--service-name opencost --kubecost-namespace opencost \
--allocation-path /allocation/compute pod \
--window 5m --show-efficiency=true
+-------+---------+-------------+----------+---------------+
|CLUSTER|NAMESPACE|POD |MONTH RATE|COST EFFICIENCY|
+-------+---------+-------------+----------+---------------+
|cl-one |kube-syst|coredns-db...| 1.486732 | 0.033660 |
| | |coredns-...dm| 1.486732 | 0.032272 |
| | |kube-prox...7| 1.359577 | 0.002200 |
| | |kube-prox...x| 1.359577 | 0.002470 |
| |opencost |opencost...5t| 0.459713 | 0.187180 |
| |kube-syst|aws-node-cbwl| 0.342340 | 0.134960 |
| | |aws-node-gbfh| 0.342340 | 0.133760 |
| |prometheu|my-prome...pv| 0.000000 | 0.000000 |
| | |my-prome...hn| 0.000000 | 0.000000 |
| | |my-prome...89| 0.000000 | 0.000000 |
+-------+---------+-------------+----------+---------------+
| SUMMED| | | 6.837011 | |
+-------+---------+-------------+----------+---------------+

二、Kubernetes 優化策略

現在已經掌握了云成本,是時候優化Kubernetes環境了。優化是一個迭代過程。從棧的頂部(容器)開始并遍歷每一層。每一步的效率都會復合。有很多方法可以優化 Kubernetes 以提高成本效率,例如:

  • 查找廢棄的工作負載和未申明的卷:不再使用或斷開連接的容器莢和存儲會繼續消耗資源而不提供價值。
  • 調整你的工作負載大?。捍_保工作負載使用正確大小的容器。調查分配過多和分配不足的容器。
  • 自動擴展:自動擴展可以幫助僅在需要時使用資源來節省成本。
  • 調整集群大?。汗濣c過多或過大可能會導致效率低下。在容量、可用性和性能之間找到適當的平衡可能會大大降低成本。
  • ?研究更便宜的節點類型:CPU、RAM、網絡和存儲有很多變化。切換到 ARM 架構可能會帶來更大的節省。
廣告合作
QQ群號:707632017
標簽:

溫馨提示:

1、本網站發布的內容(圖片、視頻和文字)以原創、轉載和分享網絡內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。郵箱:2942802716#qq.com(#改為@)。

2、本站原創內容未經允許不得轉裁,轉載請注明出處“站長百科”和原文地址。

熱門教程

  • Z-Blog教程
    Z-Blog教程
    ZBlog教程分享ZBlog安裝教程、ZBlog建站教程和ZBlog使用教程等相關教程,包括如何創建...
  • CSS教程
    CSS教程
    CSS教程提供了關于如何使用CSS來設計和美化網頁的基礎知識和技巧,包括選擇器、樣式規則、盒模型、布...
  • WordPress教程
    WordPress教程
    WordPress教程提供了關于WordPress的基礎知識和技巧,包括安裝、設置、發布內容、選擇主...
  • 寶塔面板教程
    寶塔面板教程
    寶塔面板教程是一個致力于向用戶傳授寶塔面板的使用技巧和知識的學習資源,旨在幫助用戶快速上手和充分利用...
  • Xmind教程
    Xmind教程
    Xmind是一款功能強大的思維導圖軟件,它可以幫助用戶組織思維、整理信息、規劃項目等。Xmind教程...

3個月免費VPS

亞馬遜云科技