看得見的成本!1款工具實現K8S資源成本監控視覺化

2022-03-17 13:02:34 字數 2431 閱讀 4710

****,第一時間獲取技術乾貨

採用kubernetes和基於服務的架構可以為企業帶來諸多好處,如團隊可以更快地遷移以及應用程式可以更輕鬆地擴充套件等。但是這一轉變也帶來了一些複雜性,比如雲成本的可見性。這是由於應用程式及其資源需求常常是動態變化的,並且團隊共享核心資源而沒有與工作負載掛鉤的透明**。此外,能夠充分意識到kubernetes所帶來的優勢的企業通常會將資源執行在不同型別的機器上,甚至會執行在多個雲提供程式上。

在本文中,我們將了解在企業中為showback/chargeback專案實現成本監控的最佳實踐和不同實現方式,以及如何授權使用者對這些資訊採取行動。我們首先會了解kubecost,它提供了一種開源的方式來確保跨所有kubernetes工作負載一致和準確的可見性。

讓我們進一步了解最佳實踐,以準確分配和監控kubernetes的工作負載成本以及相關託管服務上的支出。

精確分配資源成本是在kubernetes環境中建立成本可見性和實現高效成本利用的首要步驟。

要正確進行這一步驟,你需要在工作負載層面通過單個容器進行成本分配。工作負載分配完成後,通過彙總不同的工作負載集合,成本可以正確地分配給各個團隊、部門甚至個人開發者。在工作負載層面的成本分配框架如下所示:

讓我們一點點拆解這個框架。

資源消耗的平均數量由kubernetes scheduler進行計算或者由雲提供程式提供,這取決於被測量的特定資源。我們建議根據request和usage的最大值來計算記憶體和cpu分配。這樣就能夠反映出由kubernetes scheduler本身所預留的資源量。另一方面,諸如負載均衡器和持久卷等資源會嚴格基於由提供程式所提供的數量。

kubernetes api可以直接計算出資源消耗的時間段。這由資源(如記憶體、cpu和gpu等)在running狀態所消耗的時間決定。要讓資料對雲chargeback來說足夠精確,我們建議團隊將這些資料與雲提供程式提供的特定雲資源(如節點)所花費的時間進行協調,保持一致。在之後的部分我們將對此進行更多介紹。

資源**是通過觀察環境中每種特定資源的成本來確定的。例如,us-east-1 aws區域中m5.xlarge spot例項的cpu小時**與同一例項的按需**不同。

使用這一框架可以在各個工作負載之間適當分配成本,那麼它們就可以通過任何kubernetes概念(如命名空間、標籤、注釋或controller)輕鬆聚合。

通過kubernetes概念(如pod或controller)分配的成本,你可以開始準確地將支出對映到任何內部業務層級,如團隊、產品、部門或成本中心。企業通常的做法是通過kubernetes命名空間來劃分團隊工作負載,而其他的做法可能使用kubernetes標籤或注釋來識別工作負載屬於哪個團隊。

在不同應用、團隊等之間進行成本監控的另乙個關鍵因素是確定誰應該為閒置的容量付費。具體而言是指仍在向企業計費但未使用的集群資源。通常情況下,這些費用要麼計入**基礎設施成本中心,要麼按比例分配給應用團隊。將這些成本分配給負責**決策的團隊,通過調整激勵措施來擁有乙個高效規模的集群,從而產生積極的效果。

kubernetes提供了大量實時資料。這讓開發人員可以直接訪問成本指標。儘管這些實時資料通常都是精確的,但它可能與雲提供商的計費資料不完全一致。例如,在確定aws spot節點的小時費率時,使用者需要等待spot資料來源或成本和使用報告來確定準確的費率。出於計費和收費的目的,你應該將資料與實際賬單進行核對。

我們已經了解了如何觀察資料以計算kubernetes工作負載的成本。還有另乙個方法是利用kubecost,這是乙個建立在開源基礎上的成本和容量管理解決方案,提供了對整個kubernetes環境的可見性。kubecost為kubernetes工作負載以及它們所消耗的相關管理服務(如s3或rds)提供成本可見性和洞察力。該產品收集kubernetes的實時資料,還能與你的雲計費資料進行核對,以反映你支付的實際**。

有了像kubecost這樣的解決方案,你可以授權應用工程師做出明智的實時決策,並開始實施即時和長期的實踐,以優化和治理雲支出。這包括在不影響效能的情況下採用成本優化的方案、實施kubernetes預算和告警、showback/chargeback專案甚至基於成本的自動化。

kubecost社群版可以免費使用,並且具有上述所有功能。你可以在rancher應用商店中找到kubecost helm chart,輕鬆完成部署。借助rancher,你可以獲得kubernetes集群視覺化和絕佳控制力的體驗,與此同時kubecost為你提供了對支出和如何優化成本的直接觀察。它們共同為使用kubernetes的團隊提供了乙個完成的成本管理解決方案。

物流鏈雲平台雲ROS 看得見的成本節約

物流配送是一種先進 綜合的物流活動形式,在現代物流發展中扮演著越來越重要的角色。在配送運輸中,由於配送使用者多,城市交通路線又複雜,如何組成最佳路線,如何使配裝和配送路線有效搭配等,是配送運輸的特點,也是難度較大的工作。於是採用科學的 合理的方法來確定配送線路,成為提高物流配送車輛效益 提高企業服務...

看得見的和看不見的

課堂回顧 經濟學是一門研究比較和選擇的學問。乙個人聰明有很多種,記憶力好 想象力豐富 模仿能力強等等都是聰明,但是有一種非常重要 不可或缺的聰明,那就是在關鍵時刻能夠做出正確的選擇。要做出正確選擇,你首先得把要比較的東西拿出來,放在天秤兩邊去對比。經濟學則教你,在比較的時候不僅要看見那些看得見的東西...

看得見的軟體開發管理 缺陷管理

任何乙個專案,就算是最資深的開發組長,最團結優秀的開發團隊,也不能保證開發過程一定能按計畫完全順利進行,更別說放任計畫隨意進行的開發了 實際上這樣進行開發的專案很多 這根源到底是什麼呢?我想說的就是可控性,如何實現可控性,是專案計畫工具 microsoft project 2002,是軟體開發管理工...