原文發表于kubernetes中文社區,為作者原創翻譯 ,原文地址
更多kubernetes文章,請多關注kubernetes中文社區
目錄
1.確定你的作業負載是否適合Kubernetes
2.了解作業負載的資源要求
3.選擇大小合適的節點
4.正確設定你的資源請求和限制
5.應用程式中要具有可觀察性

如果你在Kubernetes部署上的支出超出預期,那么你并不"孤單",許多Kubernetes運營商的Kubernetes成本都比他們預期的要高,這是因為,與Kubernetes的部署一樣,如何管理或降低成本也可能具有挑戰性,
在本文中,我們提供了五個基本技巧,來幫助你實作低成本高效益的Kubernetes部署,
1.確定你的作業負載是否適合Kubernetes
Kubernetes可以為許多作業負載(但不一定是所有作業負載)提供顯著的成本優勢,如果你只是將所有東西都扔進Kubernetes并期望省錢,那么最終可能會造成沉重的技術債務負擔,或者運營惡夢,你需要確定作業負載是否適合使用Kubernetes,
要考慮的關鍵問題是:
- “此作業負載是否需要保存狀態(如資料庫)?”
- “此作業負載是否支持彈性伸縮?”
如果將作業負載移至Kubernetes會導致低效率的運維,并可能需要耗費更多資源,那么在Kubernetes中運行它,可能并不具有成本效益,
2.了解作業負載的資源要求
在將作業負載轉移到Kubernetes之前,你必須要決定在集群中使用的節點的大小和型別,因此必須評估所有作業負載中的資源需求(主要是CPU和記憶體),對于有狀態的作業負載,還要考慮需要多少存盤空間,提前對作業負載的資源消耗及其可以處理的請求量有所了解,在需要新增實體之前將有助于估算總體成本,
幸運的是,大多數(即使不是全部)編程語言都可以幫助你了解資源消耗情況,結合性能分析工具與負載測驗工具,你將很好地了解應用程式在壓力下的性能和資源要求,
3.選擇大小合適的節點
不幸的是,沒有選擇正確大小節點的靈丹妙藥,更難的是Kubernetes允許你使用大小不一的節點以適合你的作業負載,這很大程度上取決于你必須部署的應用程式數量,以及資源要求,
還需要考慮在云提供商內部或外部設定某種型別的可觀察性和警報,這可以讓你知道:你當前花費多少,將事件系結到來自Kube-Scheduler的日志中,將使你對需要部署的內容有所了解,
選擇大小合適的節點是一項需要經常進行的練習,
4.正確設定你的資源請求和限制
根據對作業負載的資源消耗分析,花時間適當地設定資源請求和限制,這可以充分發揮容器編排工具帶來的便利,有了資源需求后,Kubernetes可以更有效地對Pod進行調度,從而不會浪費資源,
一旦設定了限制并部署了作業負載,你就可以實施更高級的功能-如Pod 水平自動擴縮 (Horizontal Pod Autoscaler,HPA) ,HPA是Kubernetes中自動縮放的核心組件,可根據需要彈性伸縮Pod,HPA可以使用諸如CPU和記憶體之類的指標,也可以對自定義指標(如某個時間點)進行操作,
5.應用程式中要具有可觀察性
你不僅需要監視Kubernetes,還要獲得其中運行的應用程式的可觀察性,關于應用程式,除了要了解每個Pod占用的CPU,記憶體,網路和存盤量之外,你還應該具備應用程式方面的度量標準-每秒請求數量等等,
你可以將HPA配置為根據應用程式方面的自定義指標進行操作,有了應用程式的可觀察性,這將使你的組織可以在以后就集群大小和擴縮容做出更明智的決策,提高可觀察性,還要關注你的云提供商提供的功能,在Kubernetes集群節點中針對性地添加警報等,
無論你是在剛剛開始考慮部署Kubernetes,還是已經經歷了一段時間,在整個團隊中設定這些準則都可以幫助你優化Kubernetes的性能和成本,通過實施以上5個技巧,你可以節省大量成本,并能更準確地預測成本,避免那些意外的賬單,雖然可能需要一些作業才能開始,但這里的努力可以取得實質性的回報,
譯文鏈接:https://thenewstack.io/5-essential-tips-to-manage-kubernetes-costs/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/243280.html
標籤:其他
上一篇:從優秀到卓越
