Kubecost - Kubernetes 開支監控和管理

👉️URL: https://www.kubecost.com/

📝Description:

Kubeccost 爲使用 Kubernetes 的團隊提供實時成本可視化和洞察,幫助您持續降低雲成本。

昨天瀏覽 Kubectl 插件的時候發現了 Kubecost,一看驚爲天人啊,這個功能對於運營團隊和 PM 團隊領導來說太重要了。直接把監控數據換算成錢,而且明確告訴你錢花在哪個 namespace、哪個應用、哪個標籤、哪個 deployment下,明確告訴你那些錢花得值、哪些錢浪費了,有哪些辦法可以減少浪費… 真的都是實打實的「降本」功能。

下面詳細介紹一下。

亮點:監控和降低雲成本

Kubeccost 爲使用 Kubernetes 的團隊提供實時成本可視化和洞察,幫助您持續降低雲成本。

產品功能

💰️ 成本分攤

按 Kubernetes 概念劃分成本,包括部署(Deployment)、服務(Service)、命名空間(Namespace)、標籤(Label)等等。開銷視圖可以跨越單個視圖中的多個集羣或通過單個 API 端點。

📺 統一成本監控

將 Kubernetes 的成本與任何外部雲服務或基礎設施的支出結合起來,就可以獲得一個完整的圖景。可以分攤外部成本,然後歸因於任何Kubernetes 概念,以實現綜合支出。

⚖️ 成本優化方案

不犧牲績效的前提下接受動態的建議。優先考慮關鍵基礎設施或應用程序更改,以提高資源效率和可靠性。

🔔 開銷警報和治理

alerts: # Kubecost 產生關於羣集數據的警報
    # 在命名空間 `kubecost` 的每日預算警報
  - type: budget # 支持: 預算, recurringUpdate, 等.
    threshold: 50 # 預算警報所需
    window: daily # 或 1d
    aggregation: namespace
    filter: kubecost

在成本超支和基礎設施中斷風險成爲實時通知問題之前,迅速捕捉它們。通過集成像 PagerDuty 和 Slack 這樣的工具來保留工程工作流。

而且可以運行在以下環境:

  • Azure
  • AWS
  • Google Cloud
  • 內網環境
  • Kubernetes
  • 本地部署

安裝

可以使用 Helm Chart 進行安裝。

![[K8S 實用工具之四 - kubectl 實用插件#cost https github com kubecost kubectl-cost]]

安裝見這裏:《K8S 實用工具之四 - kubectl 實用插件:cost

部署完成後,訪問 kubecost-cost-analyzer 的 9090 端口即可查看 UI,Ingress 方式或者 port-forward 都可以。

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

升級

helm repo update && helm upgrade kubecost kubecost/cost-analyzer -n kubecost

卸載

也是 Helm:

helm uninstall kubecost -n kubecost

🤑 實際效果展示

以我的集羣爲例,這展示的不是 UI,這展示的是白花花銀子、綠油油的美元 💵 啊!

Kubecost 有以下幾大菜單項,各個都是省錢能手。

  1. 🏠️ Overview(總覽)
  2. 📊 Cost Allocation(成本分攤)
  3. 🧰 資產
  4. 💲 節流
  5. 🛑 健康狀態
  6. 📃 報告
  7. 🔔 開銷警報

總覽

通過 port-forward 方式,訪問 http://localhost:9090,首先的頁面平平無奇:

Kubecost 第一屏:Cluster 集羣 #1, 5 個節點,每月開銷 138.39 美元。

點進去後,真正的大殺器來了:

  • 左上角:識別到 5 條省錢小妙招,每月可以幫我節省 $93.64。🤑

  • 右上角:每月開銷 $138.39,成本效益 2.7%,97.3% 都讓雲廠商白嫖啦 😱

  • 左下角:每月集羣開銷,基於資源價格的每月運行費率費用走勢圖,這裏還可以拆分到:

    • 計算:

    • 內存

    • 存儲

    • 此外!點擊右側「CLUSTER METRICS」還可以直接跳轉到我們熟悉的 Grafana 儀表板,查看監控指標和 💵 的具體聯繫。(下一篇再補充)

  • 右下角:資源浪費率(🙊資源利用率),基於當前已購的資源和過去 7 天的用量

    • 計算:每月空跑 $105.10 😱
    • 內存:每月空跑 $20.51 😱
    • 存儲:每月空跑 $9.10 😱
    • 刨去空跑,我的應用主要的消耗在內存的 1.34,另外存儲方面 System 用了1.53

Overview 繼續下拉,還是震驚:

  • 左上角:基於 Controller 維度的成本分攤,根據過去 2 天的資源消耗,算出 Controller 的每月分攤成本,比如我的:
    • kubecost/deployment:kubecost-cost-analyzer 成本佔比 $8.37 (17.1%)
    • monitoring/statefulset:prometheus-prometheus-operator-prometheus 成本佔比 $5.83(11.9%)
    • monitoring/statefulset:alertmanager-prometheus-operator-alertmanager: 成本佔比 $2.81(5.7%)
  • 右上角:基於 Service 維度的成本分攤,根據過去 2 天的資源消耗,算出 Service 的每月分攤成本,比如我的:
    • kubecost/kubecost-cost-analyzer 成本佔比 $8.37 (17.1%)
  • 左下角:基於 NameSpace 維度的成本分攤,以及成本效益評分(1-100分),比如我的:
    • kubecost:每月開銷 $10.74,效益 22 分,不及格!😱
    • monitoring:每月開銷 $9.63,效益 42 分,不及格!😱
    • crossplane-system:每月開銷 $5.70,效益 5 分,戰五渣! 😱
    • kube-system:每月開銷 $2.71, 效益 17 分,不及格!😱
    • loki-stack:每月開銷 $0.66,滿分!(Loki YYDS ?)💯
  • 右下角:基礎架構健康度,94 分(集羣運行狀況評級是對基礎設施可靠性和性能風險的評估,分數範圍從1-100),屬於花錢保平安了這是。😂

ℹ️ 提示

成本效益定義爲 CPU 和 RAM 的(使用量 / request)。如果使用了資源,但沒有 request 資源,那麼效率被認爲是無限的。

成本分攤

進入第二個菜單,成本分攤,效果如下:

細粒度到:CPU、GPU、RAM、PV、Network、LB、Shared。

另外,成本效益可以根據非常多的維度去進行分析,我想應該可以滿足領導的需求:

資產

ℹ️ 提示

資產和公有云的信息對接後,可以獲得更豐富的信息,如:雲賬號、供應商類型等。

目前版本可以對接:AWS 和 GCP,但是是付費功能。

下圖爲資產信息:

也可以從多個維度拆分:

懸停到信息按鈕,會告訴你計費單位:(計費單價可調整的)。如下圖:

  • 每小時 Node 開銷爲:$0.03733。

節流

如下圖,可以評估每月大概能省多少錢,節省的比例。以及具體的節流措施:

  • 管理低利用率節點
  • 本地磁盤利用率低
  • Pod 配置的 Request 太多
  • 識別到潛在的不用的 wordload

健康狀態

這個功能比較一般,就是類似 K9S 的 popeye。效果如下圖:

  • 有 Pod pending
  • Worker node 沒有分散在多個可用區(這個提示不錯👍️)
  • 集羣沒有 master 副本

點進去還會有詳細的指南,如下圖:

報告

報告就是基於 成本 和 資產兩個維度,根據上面的儀表來定製定期的報告。

成本警報

成本警報就是告警,主要的區別是基於💵的維度:

  • 反覆出現類
  • 成本效益類
  • 預算類
  • 開銷變化類(如上文產品功能中的告警就是開銷突然上升了 50%)
  • 健康類
  • 診斷類

設置

定製化還挺全面的,說一些我認爲實用的配置吧:

  1. 配置 Label,比如:租戶對應的 Label 是 Tenant,部門對應的 Label 是 Apartment,產品對應的 Label 是 app…
  2. 價格類設置,可以設置:
    1. 折扣
    2. 共享開銷比例、對應的 NS、Label 等
    3. 單價
    4. 貨幣

總結

完整看下來,如果讓運營團隊和 PM 團隊領導看到,一定會愛不釋手的。🤑🤑🤑

三人行, 必有我師; 知識共享, 天下爲公. 本文由東風微鳴技術博客 EWhisper.cn 編寫.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章