自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

十個Kubernetes成本優(yōu)化技術

譯文 精選
云計算
無論你旨在采用新架構還是優(yōu)化現(xiàn)有環(huán)境,建議了解下述降低Kubernetes成本的10種方法。

譯者 | 晶顏

審校 | 重樓

本文講述降低Kubernetes成本的10種策略。我們將其細分為部署前、部署后和正在進行中的成本優(yōu)化技術,旨在為處于云計算部署各個階段——開始、中期以及已完全采用云計算的組織提供指導。

部署前策略

這些預部署策略適用于那些剛剛起步的用戶。其中一些策略將更適合剛開始云計算部署的團隊;而另一些則適用于現(xiàn)有環(huán)境中尚未部署Kubernetes的用戶。

1.選擇單個(而非多個)云計算提供商

雖然多云架構通常提供了很大的靈活性,但當涉及到Kubernetes時,它們通常會產生更高的成本。這與提供Kubernetes的不同方式有關。

在AWS上,EKS是用戶訪問Kubernetes的主要方式;而在Azure上,訪問Kubernetes的主要方式又變成了AKS。它們每個都構建在Kubernetes核心架構之上,但利用方式又截然不同。

云計算提供商都有自己的實現(xiàn)、擴展、最佳實踐和獨特的功能,這意味著在EKS上可以很好地進行成本優(yōu)化的功能在AKS上就不起作用了(或者根本不是一個選項)。更不用說通過多個服務管理Kubernetes的運營成本,以及需要了解多云環(huán)境所帶來的成本優(yōu)化問題。

因此,鑒于成本和復雜性等問題,建議最好選擇單個提供商。

2.選擇正確的架構

對于那些處于云計算和Kubernetes之旅初期的用戶來說,云計算成本(以及其他一切)將受到你選擇的架構類型的顯著影響。當涉及到Kubernetes時,下面有一些需要格外留心的注意事項。

你可能知道,如果你更普遍地使用Kubernetes集群或容器,基于微服務的架構將十分適用。而單體式應用程序(Monolithic Applications)將無法充分利用容器化的優(yōu)勢。

然而,還有其他不為人所知的考慮因素。例如,有狀態(tài)應用程序(Stateful Applications,如SQL數(shù)據庫)不太適合容器。同樣地,需要定制硬件的應用程序(如大量使用的AI/ML)也不是Kubernetes的理想選擇。

因此,在選擇云提供商之后,最好考慮一下采用Kubernetes和容器的程度,然后對架構做出明智的選擇。

部署后策略

這些策略適用于那些已經在使用Kubernetes并正在尋找新方法以達到最高成本效率的組織。

3.設置正確的資源限制和配額,以及適當?shù)臄U展方法

資源限制和配額能夠限制你的消費方式,沒有這些,任何Kubernetes集群都會以不可預測的方式運行。如果不為集群中的任何pod設置限制,那么一個pod很容易耗盡內存和CPU。

例如,如果你有一個前端pod,那么用戶流量的峰值將意味著消費的峰值。雖然你不希望應用程序崩潰,但無限制地消耗資源并不是解決問題的辦法。

相反地,你需要合理的資源限制和其他策略來處理大量使用的情況。此時,優(yōu)化應用程序的性能將是確保滿足客戶需求而不產生額外成本的更好方法。

配額也是如此,盡管它們應用于名稱空間級別和其他類型的資源。但從本質上講,它基于謹慎的設置限制,并通過其他適當?shù)姆椒▉泶_保你的交付。

4.設置智能自動擴展規(guī)則

當談到Kubernetes中的自動擴展時,你有兩種選擇:水平擴展和垂直擴展。你將使用基于規(guī)則的系統(tǒng)來決定在什么條件下執(zhí)行哪些操作。

水平擴展意味著增加pod的總數(shù),而垂直擴展意味著在不增加總數(shù)的情況下增加pod的內存和CPU容量。當涉及到理想的資源使用和避免不必要的成本時,每種方法都有其優(yōu)勢。

當你需要快速擴展時,水平擴展是更好的選擇。此外,由于你擁有的pod越多,單點故障導致崩潰的可能性就越小,因此在分配大量流量時,水平擴展是可取的。在運行無狀態(tài)應用程序時,它也是更好的選擇,因為額外的pod能夠更好地處理多個并發(fā)請求。

垂直擴展對有狀態(tài)應用程序更有利,因為通過向pod中添加資源來保持狀態(tài)比在新pod中傳播狀態(tài)更容易。當你在擴展方面有其他限制時,例如有限的IP地址空間或許可證所施加的節(jié)點數(shù)量限制,垂直擴展也是可取的。

在定義擴展規(guī)則時,你需要了解每個規(guī)則的用例、應用程序的特性以及可能滿足的擴展需求類型。

5.使用Rightsizing

Rightsizing說起來并不復雜,就是把資源的規(guī)格調整為它實際需要用到的規(guī)格。在Kubernetes情境中,它意味著確保Kubernetes環(huán)境中每個pod和節(jié)點的適當資源利用率(CPU和內存)。如果沒有正確調整大小,可能會發(fā)生一些影響應用程序性能和成本優(yōu)化工作的事情。

在過度配置的情況下,付費的CPU和內存可能會未被使用,成為閑置資源;在供應不足的情況下,雖然它不會直接影響Kubernetes的成本,但它會造成性能問題,最終導致成本下降。

當涉及到Rightsizing時,有一些方法可用。它可以由工程師手動完成,也可以使用工具完全自動化。總之,Rightsizing是一個持續(xù)的過程,需要動態(tài)調整,但如果做得好,它是成本優(yōu)化策略的重要組成部分。

6.充分利用Spot實例

Spot實例非常適合某些情況。如果你的應用程序可以處理不可預測性,那么你可以在有限的時間內獲得實例的巨大折扣(在AWS上高達90%)。然而可能會有一些額外的配置。

例如,你將需要調整pod分發(fā)預算并設置就緒探針(Readiness Probes),以便為突然刪除實例準備Kubernetes集群。

節(jié)點管理也是如此——你需要使實例類型和pod多樣化,以應對中斷。

簡單地說,Spot實例是降低應用程序成本的好方法,但是將這種不可預測性集成到Kubernetes中需要具備專業(yè)知識。

7.戰(zhàn)略性地利用區(qū)域資源來減少流量

一個經常被忽視的成本優(yōu)化策略是減少不同地理區(qū)域之間的流量。當節(jié)點覆蓋多個區(qū)域時,數(shù)據傳輸費用可能會迅速增加,因為你將使用公共互聯(lián)網發(fā)送和接收數(shù)據。在這里,AWS Private Link和Azure Private Link等工具可以通過提供替代路由來幫助你優(yōu)化成本。

集群的區(qū)域分布和數(shù)據傳輸策略可能是一項復雜的工作,有些人會使用工具來完成該操作,但一旦完成,這是減少每月賬單的好方法。

持續(xù)改進策略

這些Kubernetes成本優(yōu)化技術適用于那些可能已經解決了最常見問題,并希望實現(xiàn)持續(xù)改進的組織。如果你非常了解自動擴展和Rightsizing等實踐,那么這里有一些面向更有經驗的Kubernetes用戶的實用成本管理技術。

8.利用監(jiān)控成本提高效率

Kubernetes、EKS、AKS和GKE都提供了自己的成本監(jiān)控和優(yōu)化功能。但要獲得真正細致的見解,通常最好投資于第三方工具。有很多Kubernetes成本優(yōu)化工具可供選擇。市面上有一些通用的云成本管理工具,它們可以很好地與Kubernetes基礎設施配合使用。

一般來說,當你選擇一個工具時,應該優(yōu)先考慮一下自己最缺的是什么。有些工具最適合產生洞察力;有些則專注于人工智能,這意味著更少的控制和用戶輸入,這對于缺乏人力資源的團隊來說是件好事。

簡而言之,考慮Kubernetes成本優(yōu)化過程中缺少什么,并根據需求選擇合適的工具。

9.將成本控制集成到CI/CD管道中

如果你的組織將DevOps與Kubernetes結合使用,你可以在不同的點上將Kubernetes成本監(jiān)控和控制構建到CI/CD管道中。

例如,當正確集成時,Kubecost可用于在部署之前預測更改的成本。它還可以用于自動化與成本相關的控制,如果預測的成本太高,甚至會導致構建失敗。更廣泛地說,集成Kubecost(或具有類似功能的腳本)可以使Kubernetes覆蓋一個可監(jiān)控的數(shù)據點,以便為未來的CI/CD決策提供數(shù)據。

因此,如果你正在使用Kubernetes,并且你的組織已經采用了DevOps,則可以將成本優(yōu)化構建到流程的核心。

10.建立一個通過工具和文化來實現(xiàn)成本優(yōu)化的環(huán)境

盡管這涉及到云計算的總體成本,但還是值得花時間列出一些關鍵點。

首先,如果你已經做了一些部署后和正在進行的工作,那么在整個組織中采用正確的心態(tài)將會更容易,這需要數(shù)據。因此,擁有正確的成本監(jiān)控和優(yōu)化工具是一個良好的開端,Kubefed、CAST AI或Densify都是不錯的選擇。

其次,這些數(shù)據需要對多個利益相關者是可訪問且有意義的。如果你已經采用了DevOps,那么這應該沒有那么困難。但如果你沒有,你可能會遇到一點阻力。像Apptio Cloudability這樣的工具可以幫助實現(xiàn)這一點,提供清晰的成本洞察,并特別關注將非技術利益相關者與關鍵統(tǒng)計數(shù)據聯(lián)系起來。

最后,無論你是想削減Kubernetes還是云計算的成本,都需要營造一個激勵持續(xù)改進的環(huán)境。當團隊在整個業(yè)務中有明確的目標時,當每個成員都獲取到成就感時,團隊就會成功。

原文標題:10 Kubernetes Cost Optimization Techniques,作者:Andromeda Booth

責任編輯:華軒 來源: 51CTO
相關推薦

2024-08-13 00:23:48

2021-04-25 11:00:37

Kubernetes優(yōu)化Linux

2024-09-26 15:00:06

2023-12-22 16:48:00

Kubernetes容器集群

2012-04-28 09:28:43

MySQL數(shù)據庫數(shù)據庫優(yōu)化

2023-07-24 16:09:58

Kubernetes云計算

2009-02-03 09:02:35

測試開發(fā)成本成本控制

2021-04-16 08:11:07

程序體積優(yōu)化

2023-04-07 17:19:04

2023-09-20 22:52:12

Kubernetes快捷方式

2023-10-23 14:14:10

SQL數(shù)據庫

2024-09-04 14:28:20

Python代碼

2021-09-18 10:07:23

開發(fā)技能代碼

2023-03-09 16:42:00

程序性能優(yōu)化Java技巧

2022-02-11 20:39:13

物聯(lián)網人工智能智能城市

2024-07-18 15:08:27

2009-03-25 09:16:23

數(shù)據庫優(yōu)化ASP.NET

2024-10-21 16:54:43

NumPyPython并行計算

2021-03-29 09:00:00

Kubernetes容器工具

2023-12-14 17:34:22

Kubernetes集群K8s
點贊
收藏

51CTO技術棧公眾號