Kubernetes是一個(gè)動(dòng)態(tài)系統(tǒng),可以自動(dòng)適應(yīng)用戶工作負(fù)載的資源利用率。
Kubernetes有兩個(gè)擴(kuò)展級(jí)別。每個(gè)單獨(dú)的Kubernetes部署都可以使用Horizontal Pod Autoscaler(HPA)來自動(dòng)擴(kuò)展,而整個(gè)集群使用Cluster Autoscaler來擴(kuò)展。HPA監(jiān)測部署中各個(gè)pod的目標(biāo)指標(biāo)(通常是CPU或內(nèi)存使用情況),必要時(shí)添加或刪除pod,使該指標(biāo)接近指定的目標(biāo)。同時(shí),Cluster Autoscaler處理集群本身的擴(kuò)展。它監(jiān)視無法調(diào)度的pod,并為集群添加節(jié)點(diǎn)或從集群刪除節(jié)點(diǎn),以容納這些pod。
Kubernetes支持這兩種擴(kuò)展操作的一項(xiàng)關(guān)鍵特性是,能夠針對(duì)工作負(fù)載設(shè)置特定的資源請(qǐng)求和限制。通過為每個(gè)pod使用多少CPU和內(nèi)存設(shè)置合理的限制和請(qǐng)求,您可以盡量提高基礎(chǔ)架構(gòu)的利用率,同時(shí)確保應(yīng)用程序性能很高。想最大限度地有效利用Kubernetes集群,正確設(shè)置資源限制和請(qǐng)求很重要。對(duì)應(yīng)用程序設(shè)置過低的限制會(huì)導(dǎo)致問題。比如說,如果內(nèi)存限制太低,Kubernetes一定會(huì)因應(yīng)用程序違反限制而終止它。與此同時(shí),如果把限制設(shè)置得太高,就會(huì)因過度分配而浪費(fèi)資源,這意味著最終支付更高的費(fèi)用。
雖然Kubernetes優(yōu)秀實(shí)踐要求您應(yīng)該始終對(duì)工作負(fù)載設(shè)置資源限制和請(qǐng)求,但知道為每個(gè)應(yīng)用程序使用什么樣的值并非總是易事。因而,一些團(tuán)隊(duì)從不設(shè)置請(qǐng)求或限制,而另一些團(tuán)隊(duì)在初始測試過程中設(shè)置得過高,然后從不確保設(shè)置正確。確保擴(kuò)展操作合理的關(guān)鍵是,對(duì)每個(gè)工作負(fù)載正確設(shè)置資源限制和請(qǐng)求,以便工作負(fù)載有效地運(yùn)行。
設(shè)置資源限制和請(qǐng)求是在Kubernetes集群上盡可能高效、可靠地運(yùn)行應(yīng)用程序的關(guān)鍵。
如何設(shè)置Kubernetes資源?
Fairwinds的開源項(xiàng)目Goldilocks幫助團(tuán)隊(duì)將資源分配給他們的Kubernetes部署,并做好這些資源的調(diào)校。Goldilocks是一個(gè)Kubernetes控制器,收集運(yùn)行中的pod方面的數(shù)據(jù),并就如何設(shè)置資源請(qǐng)求和限制提供建議。它可以幫助組織了解資源使用情況、資源成本和確保效率的優(yōu)秀實(shí)踐。Goldilocks使用Kubernetes Vertical Pod Autoscaler(VPA)。它考慮到工作負(fù)載以往的內(nèi)存和CPU使用情況,以及pod的當(dāng)前資源使用情況,以便建議如何設(shè)置資源請(qǐng)求和限制。(雖然VPA可以為您設(shè)置限制,但通常最好只使用VPA引擎來提供建議。)實(shí)際上,該工具為命名空間中的每個(gè)部署創(chuàng)建一個(gè)VPA,然后查詢?cè)揤PA以獲取信息。
要查看這些建議,必須使用Kubectl來查詢每個(gè)VPA對(duì)象,這對(duì)于大中型部署來說很快會(huì)變得繁瑣。這時(shí)候儀表板就有了用武之地。一旦您的VPA部署到位,建議會(huì)出現(xiàn)在Goldilocks儀表板中。
儀表板根據(jù)您希望為部署獲得的服務(wù)質(zhì)量(QoS)類別提供兩種類型的建議:
保證式,這意味著應(yīng)用程序?qū)⒈皇谟璞绕渌ぷ髫?fù)載更高的優(yōu)先級(jí),以便保證可用資源。在這個(gè)類別中,您將資源請(qǐng)求和限制設(shè)置為完全相同的值,這將保證在調(diào)度時(shí)容器請(qǐng)求的資源對(duì)其可用。這個(gè)QoS類別通常適合最穩(wěn)定的Kubernetes集群。
突發(fā)式,這意味著應(yīng)用程序?qū)⒈WC得到最低數(shù)量的資源,但如果資源可用,將獲得更多的資源。實(shí)際上,您的資源請(qǐng)求低于限制。調(diào)度程序?qū)⑹褂谜?qǐng)求將pod放置到節(jié)點(diǎn)上,但隨后pod可以在被終止或遏制之前使用更多的資源,直至達(dá)到上限。在決定資源匱乏時(shí)刪除哪些工作負(fù)載時(shí),該QoS類別被授予較低的優(yōu)先級(jí)。
儀表板為保證式和突發(fā)式QoS類別提供了建議。在保證式類別中,我們建議將請(qǐng)求和限制設(shè)置為VPA“目標(biāo)”字段。
注意,第三個(gè)QoS類別:盡力式(BestEffort)意味著不設(shè)置請(qǐng)求或限制,只有當(dāng)所有其他請(qǐng)求都得到滿足時(shí)才為應(yīng)用程序分配資源。不建議使用盡力式。
為集群使用專門的實(shí)例組
如果您對(duì)微調(diào)實(shí)例(工作負(fù)載在其上面運(yùn)行)感興趣,可以使用不同的實(shí)例組類型和節(jié)點(diǎn)標(biāo)簽將工作負(fù)載引導(dǎo)到特定的實(shí)例類型。
不同的業(yè)務(wù)系統(tǒng)常常有不同大小的資源需求,以及專門的硬件需求(比如GPU)。Kubernetes中的節(jié)點(diǎn)標(biāo)簽概念讓您可以將標(biāo)簽放在所有不同的節(jié)點(diǎn)上。同時(shí),pod經(jīng)過配置后,可以使用特定的“nodeSelectors”以匹配特定的節(jié)點(diǎn)標(biāo)簽,這些標(biāo)簽決定了pod可以調(diào)度到哪些節(jié)點(diǎn)上。通過利用具有適當(dāng)標(biāo)記的不同實(shí)例類型的實(shí)例組,您可以將所選擇的云提供商提供的底層硬件與Kubernetes中的工作負(fù)載混合搭配。
如果您有不同大小、不同需求的工作負(fù)載,將這些工作負(fù)載放在不同的實(shí)例類型上,并使用標(biāo)簽將工作負(fù)載引導(dǎo)到這些不同的實(shí)例類型上從戰(zhàn)略上和成本上來說都是明智之舉。
競價(jià)實(shí)例(spot instance)與這一想法密切有關(guān)。大多數(shù)組織熟悉按需購買實(shí)例或在固定期限內(nèi)按保留條款購買實(shí)例的模式。但是如果工作負(fù)載可能被中斷,您可能需要考慮使用競價(jià)實(shí)例。這種實(shí)例讓您可以以相當(dāng)大的折扣使用云提供商的剩余容量,面臨的風(fēng)險(xiǎn)是對(duì)常規(guī)按需實(shí)例的需求加大時(shí),您的實(shí)例可能會(huì)被終止。
如果您的某些業(yè)務(wù)工作負(fù)載可以容忍實(shí)例隨機(jī)終止的風(fēng)險(xiǎn),那么可使用同樣的節(jié)點(diǎn)標(biāo)簽概念,將這些工作負(fù)載專門調(diào)度到這些類型的實(shí)例組上,從而大幅節(jié)省成本。
如何使用Kubernetes
資源方面的建議?
Goldilocks是Fairwinds Insights用于提供工作負(fù)載效率和性能優(yōu)化的工具之一。有了Fairwinds Insights,Goldilocks可以跨多個(gè)集群部署,這樣團(tuán)隊(duì)可以通過單一管理平臺(tái)獲得信息。Fairwinds Insights為Goldilocks添加了數(shù)據(jù)和建議,包括潛在的成本節(jié)約。出現(xiàn)的儀表板包括命名空間和部署列表,附有平均總成本和成本方面的建議。
許多組織將CPU和內(nèi)存請(qǐng)求及限制設(shè)置過高,所以當(dāng)它們運(yùn)用Fairwinds Insights的建議時(shí),能夠?qū)⒏嗟膒od放在更少的Kubernetes worker節(jié)點(diǎn)上。啟用Cluster Autoscaler后,任何多余的節(jié)點(diǎn)都將在它們不使用時(shí)被刪除,這節(jié)省了時(shí)間和資金。
使用像Fairwinds Insights這樣的軟件或像Goldilocks這樣的開源工具,開發(fā)人員可以通過為自己自動(dòng)建議來避免不靠譜的猜測。反過來,這讓您有機(jī)會(huì)提高集群效率和減少云開銷。
文章內(nèi)容僅供閱讀,不構(gòu)成投資建議,請(qǐng)謹(jǐn)慎對(duì)待。投資者據(jù)此操作,風(fēng)險(xiǎn)自擔(dān)。
2024年的Adobe MAX 2024發(fā)布會(huì)上,Adobe推出了最新版本的Adobe Creative Cloud。
奧維云網(wǎng)(AVC)推總數(shù)據(jù)顯示,2024年1-9月明火炊具線上零售額94.2億元,同比增加3.1%,其中抖音渠道表現(xiàn)優(yōu)異,同比有14%的漲幅,傳統(tǒng)電商略有下滑,同比降低2.3%。
“以前都要去窗口辦,一套流程下來都要半個(gè)月了,現(xiàn)在方便多了!”打開“重慶公積金”微信小程序,按照提示流程提交相關(guān)材料,僅幾秒鐘,重慶市民曾某的賬戶就打進(jìn)了21600元。
華碩ProArt創(chuàng)藝27 Pro PA279CRV顯示器,憑借其優(yōu)秀的性能配置和精準(zhǔn)的色彩呈現(xiàn)能力,為您的創(chuàng)作工作帶來實(shí)質(zhì)性的幫助,雙十一期間低至2799元,性價(jià)比很高,簡直是創(chuàng)作者們的首選。
9月14日,2024全球工業(yè)互聯(lián)網(wǎng)大會(huì)——工業(yè)互聯(lián)網(wǎng)標(biāo)識(shí)解析專題論壇在沈陽成功舉辦。