揚(yáng)州建網(wǎng)站網(wǎng)站建設(shè)公司推薦
云計(jì)算日益成為組織構(gòu)建應(yīng)用程序和服務(wù)的首選目的地。盡管一年來經(jīng)濟(jì)不確定性的頭條新聞主要集中在通貨膨脹增長和銀行動(dòng)蕩方面,但大多數(shù)組織預(yù)計(jì)今年的云使用和支出將與計(jì)劃的相同(45%),或高于計(jì)劃的(45%)。Flexera公司2023年云現(xiàn)狀報(bào)告中的新數(shù)據(jù)顯示,僅有10%的受訪者預(yù)計(jì)云支出會(huì)比計(jì)劃的略低或顯著降低。無論在支出方面的計(jì)劃如何,許多組織都在尋找方法來控制高昂的云成本,同時(shí)確保Kubernetes工作負(fù)載的可靠性。但是,將成本盡可能降低并不意味著您不需要確保平臺(tái)和服務(wù)的用戶滿意度。
通過分析超過150,000個(gè)工作負(fù)載和數(shù)百家組織的數(shù)據(jù),Fairwinds制作了2023年Kubernetes基準(zhǔn)報(bào)告。該報(bào)告將2022年的數(shù)據(jù)與上一年的基準(zhǔn)進(jìn)行了比較。行業(yè)報(bào)告顯示,盡管在開發(fā)和生產(chǎn)環(huán)境中采用Kubernetes的情況增加,但對(duì)Kubernetes最佳實(shí)踐的遵循仍然對(duì)許多組織構(gòu)成挑戰(zhàn)。不幸的是,缺乏遵循通常會(huì)導(dǎo)致現(xiàn)實(shí)世界中的后果,比如增加的安全風(fēng)險(xiǎn)、未受管控的云成本以及云應(yīng)用程序和服務(wù)可靠性的降低?;鶞?zhǔn)中有六個(gè)與可靠性相關(guān)的領(lǐng)域,每個(gè)領(lǐng)域都與配置錯(cuò)誤相關(guān)聯(lián)。
1. 內(nèi)存限制和內(nèi)存請(qǐng)求缺失
根據(jù)Kubernetes最佳實(shí)踐,您應(yīng)該始終在工作負(fù)載上設(shè)置資源限制和請(qǐng)求,但對(duì)于大多數(shù)人來說,很難確定每個(gè)應(yīng)用程序應(yīng)該使用哪些值。通常,這會(huì)導(dǎo)致要么根本不設(shè)置請(qǐng)求或限制,要么將它們?cè)O(shè)置得太高,然后再也不調(diào)整它們。根據(jù)2021年的基準(zhǔn)數(shù)據(jù),41%的組織為超過90%的工作負(fù)載設(shè)置了內(nèi)存請(qǐng)求和限制。但在最新的報(bào)告中,這個(gè)比例下降到僅為17%。這可能是由于開發(fā)人員和DevOps團(tuán)隊(duì)不知道要設(shè)置什么限制,Kubernetes使用量增加而沒有增加配置可見性,或者兩者的結(jié)合。調(diào)整每個(gè)Pod的內(nèi)存限制和請(qǐng)求可以確保您的Kubernetes集群擴(kuò)展操作正常運(yùn)行。適當(dāng)設(shè)置內(nèi)存限制和請(qǐng)求可以幫助您確保Kubernetes集群上的應(yīng)用程序運(yùn)行盡可能高效和可靠。
2. 存活探針和就緒探針缺失
存活探針用于確定容器是否在運(yùn)行。在Kubernetes中,您使用探針定期監(jiān)視應(yīng)用程序的健康狀況。當(dāng)存活探針檢測(cè)到失敗狀態(tài)時(shí),Kubernetes會(huì)自動(dòng)重新啟動(dòng)容器,將您的服務(wù)恢復(fù)到可運(yùn)行狀態(tài)。您應(yīng)該在每個(gè)Pod的每個(gè)容器中放置一個(gè)存活探針;如果沒有存活探針,有故障或不起作用的Pod將無限期地運(yùn)行,消耗寶貴的資源并可能導(dǎo)致應(yīng)用程序錯(cuò)誤。最新的基準(zhǔn)報(bào)告顯示,83%的組織對(duì)超過10%的工作負(fù)載未設(shè)置存活探針或就緒探針。而在前一年,65%的組織對(duì)超過10%的工作負(fù)載未設(shè)置存活探針或就緒探針。可喜的是,這個(gè)問題并沒有得到改善。
3. 拉取策略未設(shè)置為Always
有時(shí)團(tuán)隊(duì)會(huì)依賴Docker容器鏡像的緩存版本,這可能導(dǎo)致可靠性問題。默認(rèn)情況下,如果一個(gè)節(jié)點(diǎn)上沒有緩存該鏡像,它將始終被拉取。這可能導(dǎo)致每個(gè)節(jié)點(diǎn)上運(yùn)行不同版本的鏡像。它還可能在沒有直接訪問ImagePullSecret的情況下提供對(duì)鏡像的訪問權(quán)限。在最新的報(bào)告中,25%的組織幾乎對(duì)所有的工作負(fù)載都依賴于緩存鏡像,這與前一年的15%相比顯著增加。這種增加對(duì)應(yīng)用程序的可靠性產(chǎn)生了負(fù)面影響。
4. 部署副本缺失
在今年的基準(zhǔn)測(cè)試中,新增了對(duì)僅有一個(gè)副本的部署進(jìn)行檢查,這也可能對(duì)可靠性產(chǎn)生負(fù)面影響。根據(jù)數(shù)據(jù),25%的組織有超過一半的工作負(fù)載沒有副本。這會(huì)影響可靠性,因?yàn)?strong>如果一個(gè)節(jié)點(diǎn)崩潰,當(dāng)副本數(shù)為1時(shí),部署將重啟應(yīng)用服務(wù),但在此期間將沒有可用的副本導(dǎo)致服務(wù)短時(shí)間內(nèi)不可用。部署多個(gè)副本可以幫助組織確保容器穩(wěn)定可用。
5. 缺失CPU限制
根據(jù)2021年的數(shù)據(jù),36%的組織在少于10%的工作負(fù)載上缺少CPU限制。最新的報(bào)告顯示,受影響的工作負(fù)載數(shù)量在各類工作負(fù)載中都增加了。86%的組織的工作負(fù)載中超過10%受到影響。指定CPU限制很重要,因?yàn)?strong>沒有限制,容器將沒有任何上限,可以消耗全部節(jié)點(diǎn)上可用的CPU,導(dǎo)致性能減慢并耗盡所有CPU資源。
6. 缺失CPU請(qǐng)求
之前,只有50%的組織在至少10%的工作負(fù)載上缺少請(qǐng)求。最新的基準(zhǔn)報(bào)告顯示,78%的組織的工作負(fù)載中有超過10%受到影響。工作負(fù)載中缺少CPU請(qǐng)求的組織數(shù)量從0%上升到17%。如果允許一個(gè)單獨(dú)的Pod使用全部節(jié)點(diǎn)的CPU和內(nèi)存,它可能會(huì)使其他Pod的資源匱乏。適當(dāng)設(shè)置資源請(qǐng)求可以增加應(yīng)用程序和服務(wù)的可靠性,因?yàn)樗_保Pod將擁有訪問所需資源的權(quán)限,并防止其他Pod占用節(jié)點(diǎn)上的所有可用資源。
Kubernetes的可靠性仍然是一個(gè)挑戰(zhàn)
Kubernetes為組織提供了出色的價(jià)值,并支持按需擴(kuò)展和靈活性。與此同時(shí),它是一個(gè)復(fù)雜的環(huán)境,有很多可配置項(xiàng)。學(xué)習(xí)如何適當(dāng)?shù)卣{(diào)整它們以滿足您的環(huán)境和業(yè)務(wù)需求可能會(huì)很具有挑戰(zhàn)性,并容易出錯(cuò)。Kubernetes基準(zhǔn)報(bào)告可以幫助您了解其他組織在哪些方面存在問題,并為您提供有助于使組織的部署盡可能安全、可靠和高效的改變。
?