999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

IO密集型生產(chǎn)環(huán)境下容器集群彈性伸縮研究

2023-12-07 12:11:24
電腦知識(shí)與技術(shù) 2023年30期
關(guān)鍵詞:資源

樊 雷

(連云港師范高等專科學(xué)校 數(shù)學(xué)與信息工程學(xué)院,江蘇 連云港 222006)

0 引言

近年來云計(jì)算和虛擬化技術(shù)得到快速發(fā)展,互聯(lián)網(wǎng)IT基礎(chǔ)設(shè)施呈現(xiàn)快速更新迭代、業(yè)務(wù)場(chǎng)景不斷創(chuàng)新的趨勢(shì)。隨著IT基礎(chǔ)設(shè)施運(yùn)維成本逐步攀升,如何在生產(chǎn)環(huán)境下保持高可用、可擴(kuò)展、高性能等方面提高效率、降低運(yùn)維成本是云計(jì)算和虛擬化應(yīng)用面臨的新課題。

容器技術(shù)在資源占用、部署效率、快速交付等方面相對(duì)于虛擬機(jī)具備顯著的優(yōu)勢(shì),在提高軟件交付的效率、提升應(yīng)用系統(tǒng)的彈性和運(yùn)維效率、縮短業(yè)務(wù)上線的時(shí)間上都發(fā)揮著重要的作用。容器技術(shù)的核心是利用容器實(shí)現(xiàn)應(yīng)用程序的封裝,從而實(shí)現(xiàn)了應(yīng)用程序的便攜性和可移植性。在容器集群中,容器之間可以共享主機(jī)的操作系統(tǒng)內(nèi)核,從而節(jié)省了運(yùn)維成本,提升了應(yīng)用的系統(tǒng)利用率。因?yàn)槿萜骷夹g(shù)對(duì)硬件資源的占用較輕,所以在容器集群中可以運(yùn)行更多的應(yīng)用實(shí)例,進(jìn)一步提高系統(tǒng)的彈性和可擴(kuò)展性,滿足業(yè)務(wù)高可用和彈性需求。

目前,容器技術(shù)主要標(biāo)準(zhǔn)是Docker,同時(shí)Kubernetes是目前最流行的容器集群管理工具,這使得容器技術(shù)得到了更廣泛的應(yīng)用。但是在生產(chǎn)環(huán)境中,容器部署的復(fù)雜性、應(yīng)用的性能、容器的穩(wěn)定性等都是需要考慮的。在容器的彈性伸縮管理中,如何調(diào)整容器資源限制、調(diào)整集群的節(jié)點(diǎn)數(shù)量、配置負(fù)載均衡等方面會(huì)影響到容器集群的彈性伸縮能力和性能表現(xiàn),因此需要對(duì)應(yīng)用的負(fù)載特性進(jìn)行分析和調(diào)整,以更好地發(fā)揮容器技術(shù)的優(yōu)勢(shì),實(shí)現(xiàn)更高的系統(tǒng)性能和更好的用戶體驗(yàn)。

1 容器集群的彈性伸縮研究

容器技術(shù)是一種輕量級(jí)虛擬化技術(shù),相比于傳統(tǒng)的虛擬機(jī)技術(shù),容器技術(shù)對(duì)硬件資源的需求相對(duì)較少,優(yōu)勢(shì)表現(xiàn)在以下幾個(gè)方面:

1) 容器技術(shù)支持快速部署和快速交付。容器技術(shù)有利于進(jìn)行多語言框架的封裝部署,通過鏡像的方式進(jìn)行快速部署和快速交付。

2) 容器技術(shù)支持隔離控制和資源限制。容器技術(shù)支持CPU、內(nèi)存、IO等資源限制,可以防止單個(gè)應(yīng)用程序獨(dú)占資源,造成系統(tǒng)崩潰。

3) 容器技術(shù)支持高可用和容錯(cuò)。容器技術(shù)可以進(jìn)行手動(dòng)或自動(dòng)的容器實(shí)例的監(jiān)控和重啟,保障應(yīng)用程序的持續(xù)可用性。

4) 容器技術(shù)支持彈性伸縮。容器技術(shù)支持通過調(diào)整容器的數(shù)量、資源限制的方法進(jìn)行動(dòng)態(tài)擴(kuò)容和縮減,根據(jù)負(fù)載情況快速適應(yīng)。

容器集群是由多個(gè)容器組成的一個(gè)集群,每個(gè)容器運(yùn)行一個(gè)應(yīng)用程序。容器集群的彈性伸縮問題是指在應(yīng)用程序負(fù)載增加時(shí),自動(dòng)地增加計(jì)算資源,以保證應(yīng)用程序的正常運(yùn)行。容器集群的彈性伸縮需要考慮多個(gè)因素,例如負(fù)載預(yù)測(cè)、資源分配和容器調(diào)度等。

1.1 負(fù)載預(yù)測(cè)

負(fù)載預(yù)測(cè)是容器集群彈性伸縮的一個(gè)關(guān)鍵問題。負(fù)載預(yù)測(cè)是指預(yù)測(cè)未來一段時(shí)間內(nèi)應(yīng)用程序的負(fù)載情況,以便根據(jù)負(fù)載情況進(jìn)行資源分配和容器伸縮。負(fù)載預(yù)測(cè)需要考慮多個(gè)因素,例如歷史負(fù)載、節(jié)假日、活動(dòng)、天氣等。

負(fù)載預(yù)測(cè)的方法通常有以下幾種:

1) 基于時(shí)間序列的方法:將負(fù)載序列看作時(shí)間序列數(shù)據(jù),預(yù)測(cè)未來一段時(shí)間內(nèi)的負(fù)載情況。這種方法需要考慮數(shù)據(jù)的周期性和趨勢(shì)性。

2) 基于機(jī)器學(xué)習(xí)的方法:利用機(jī)器學(xué)習(xí)算法對(duì)歷史負(fù)載數(shù)據(jù)進(jìn)行分析和學(xué)習(xí),預(yù)測(cè)未來一段時(shí)間內(nèi)的負(fù)載情況。這種方法需要考慮特征選擇、訓(xùn)練數(shù)據(jù)和模型選擇等問題。

3) 基于統(tǒng)計(jì)方法的方法:利用統(tǒng)計(jì)學(xué)理論對(duì)歷史負(fù)載數(shù)據(jù)進(jìn)行分析和建模,預(yù)測(cè)未來一段時(shí)間內(nèi)的負(fù)載情況。這種方法需要考慮數(shù)據(jù)的分布、假設(shè)檢驗(yàn)和模型選擇等問題。

1.2 資源分配

資源分配是容器集群彈性伸縮的另一個(gè)關(guān)鍵問題。資源分配是指根據(jù)負(fù)載情況,自動(dòng)地分配計(jì)算資源,以保證應(yīng)用程序的正常運(yùn)行。資源分配需要考慮容器的數(shù)量、容器所在的物理機(jī)和虛擬機(jī)的資源情況,以及容器之間的資源隔離等因素。

常見的資源分配方法包括:

1) 基于容器組的方法:將多個(gè)容器編組,按照組的負(fù)載情況進(jìn)行資源分配。

2) 基于服務(wù)的方法:將多個(gè)容器編組服務(wù),按照服務(wù)的負(fù)載情況進(jìn)行資源分配。

3) 基于節(jié)點(diǎn)的方法:將多個(gè)容器分散在不同的節(jié)點(diǎn)上,按照節(jié)點(diǎn)的負(fù)載情況進(jìn)行資源分配。

在彈性伸縮中選擇合適的容器編排工具,監(jiān)控容器集群負(fù)載情況,定義合適的策略,選擇合適的資源分配調(diào)度算法,充分考慮容器的隔離和相互影響,以及系統(tǒng)負(fù)載均衡都是其中的關(guān)鍵因素。

1.3 容器調(diào)度

容器調(diào)度是容器集群彈性伸縮的另一個(gè)關(guān)鍵問題。容器調(diào)度是指找到合適的節(jié)點(diǎn),將容器調(diào)度到該節(jié)點(diǎn)上。容器調(diào)度需要考慮多個(gè)因素,例如節(jié)點(diǎn)的剩余資源、網(wǎng)絡(luò)延遲等。

目前比較流行的容器調(diào)度工具包括Kubernetes、Docker Swarm和Mesos等。

容器集群的管理和調(diào)度方面,目前比較成熟的是Kubernetes。Kubernetes 具備強(qiáng)大的功能特性。針對(duì)Kubernetes 的彈性伸縮特性,已經(jīng)有一些研究取得了關(guān)于性能優(yōu)化、負(fù)載均衡策略、彈性伸縮策略等方面的成果。

在性能優(yōu)化方面,文獻(xiàn)[1] 提出一種融合了基于Web 請(qǐng)求量的請(qǐng)求預(yù)測(cè)模型和基于排隊(duì)論的Web 應(yīng)用性能分析的Kubernetes 容器彈性伸縮方法[1]。在負(fù)載均衡策略方面,文獻(xiàn)[2]通過對(duì)Kubernetes 的架構(gòu)進(jìn)行分析后,設(shè)計(jì)一種基于負(fù)載預(yù)測(cè)的彈性伸縮方案,將所提出的預(yù)測(cè)模型DAPSO-GRU-LSTM 應(yīng)用到彈性伸縮方案中,在Kubernetes集群中設(shè)計(jì)監(jiān)控模塊、負(fù)載預(yù)測(cè)模塊以及彈性伸縮模塊,并對(duì)各個(gè)模塊進(jìn)行實(shí)現(xiàn)[2]。文獻(xiàn)[3] 提出了基于深度學(xué)習(xí)Transformer 模型的面向Kubernetes 容器云的微服務(wù)負(fù)載預(yù)測(cè)模型TSBT[3]。

2 實(shí)驗(yàn)環(huán)境與數(shù)據(jù)分析

本文的實(shí)驗(yàn)是基于Kubernetes集群平臺(tái)的容器部署環(huán)境,使用Docker 作為容器運(yùn)行引擎,使用Prometheus 等工具進(jìn)行數(shù)據(jù)統(tǒng)計(jì)和分析。在進(jìn)行實(shí)驗(yàn)前,需要準(zhǔn)備如下的環(huán)境和工具:

1) 硬件環(huán)境:服務(wù)器CPU Intel Xeon 2.4GHz 32核64線程,內(nèi)存128GB,硬盤8TB。

2) 軟件環(huán)境:CentOS 7.x,Kubernetes 集群環(huán)境,Docker 容器運(yùn)行引擎,Prometheus 數(shù)據(jù)庫(kù)和監(jiān)控操作工具。

3) 實(shí)驗(yàn)工具:IOPerf,Prometheus,Grafana。

在實(shí)驗(yàn)中,針對(duì)不同的容器資源限制、集群節(jié)點(diǎn)數(shù)量、負(fù)載均衡等因素實(shí)施了不同的負(fù)載均衡策略,對(duì)容器集群進(jìn)行了性能測(cè)試,對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行了相關(guān)數(shù)據(jù)分析。

2.1 容器資源限制

容器資源限制主要針對(duì)CPU、內(nèi)存、IO 等方面進(jìn)行限制,在實(shí)驗(yàn)中針對(duì)CPU和內(nèi)存資源進(jìn)行了限制設(shè)置,并對(duì)容器實(shí)例數(shù)量、CPU 資源限制、內(nèi)存資源限制、負(fù)載壓力等指標(biāo)進(jìn)行了測(cè)試和分析。

圖1展示了Kubernetes容器集群中不同容器實(shí)例數(shù)量在20分鐘內(nèi)的遞增情況。隨著容器實(shí)例數(shù)量的快速增加,CPU 和內(nèi)存資源占用也會(huì)隨之增加,并且在容器實(shí)例數(shù)量較大時(shí)呈現(xiàn)出指數(shù)級(jí)增長(zhǎng)。因此,在容器資源限制方面需要根據(jù)實(shí)際情況進(jìn)行調(diào)整,避免因?yàn)橘Y源限制不合理而導(dǎo)致CPU和內(nèi)存負(fù)載過重,從而影響容器集群的穩(wěn)定性。

圖1 Kubernetes容器集群中Pod遞增情況

2.2 HPA和CA實(shí)現(xiàn)彈性伸縮

負(fù)載均衡在容器集群彈性伸縮管理中發(fā)揮著重要的作用。在實(shí)驗(yàn)中,通過設(shè)置負(fù)載均衡策略來實(shí)現(xiàn)容器實(shí)例的動(dòng)態(tài)負(fù)載均衡。在Kubernetes 中,自動(dòng)彈性伸縮主要有三種方式,Pod 水平自動(dòng)伸縮(HPA ,Horizontal Pod Autoscaler) 、Pod 垂直自動(dòng)伸縮(VPA,Vertical Pod Autoscaler) 和集群自動(dòng)伸縮(CA,Cluster Autoscaler) 。HPA用于自動(dòng)擴(kuò)展和縮減 Pod 數(shù)量,可以根據(jù) Pod 的負(fù)載和資源利用率的情況,自動(dòng)地增加或減少 Pod 的數(shù)量,解決的是業(yè)務(wù)負(fù)載波動(dòng)較大的問題。VPA負(fù)責(zé)調(diào)整單個(gè)Pod 的資源限額 request、limit 實(shí)現(xiàn),解決的是資源配額評(píng)估不準(zhǔn)的問題,依賴歷史負(fù)載指標(biāo),自動(dòng)計(jì)算或調(diào)整資源配額。CA 用于自動(dòng)擴(kuò)展和縮減節(jié)點(diǎn)上的容器數(shù)量。它可以根據(jù)節(jié)點(diǎn)的資源利用率和可用性,自動(dòng)地增加或減少節(jié)點(diǎn)的數(shù)量。

HPA 會(huì)計(jì)算同一組內(nèi)所有Pod 的平均CPU 使用率,并與預(yù)設(shè)的閾值進(jìn)行比較,如果低于閾值,則減少實(shí)例的數(shù)量,如果高于閾值,則增加實(shí)例的數(shù)量。另外為了保證資源不會(huì)被用戶耗盡,還需要設(shè)置實(shí)例數(shù)量的上限。由于自動(dòng)伸縮進(jìn)行的過程中,也會(huì)增加CPU的使用,為了減少在自動(dòng)伸縮過程中的這種抖動(dòng)現(xiàn)象,HPA 中同樣地也引入了一個(gè)冷卻時(shí)間,即在自動(dòng)伸縮發(fā)生后的3 分鐘內(nèi)不再進(jìn)行其他的資源伸縮[4],如圖2所示。

圖2 HPA和CA通過配置yml實(shí)現(xiàn)工作負(fù)載和節(jié)點(diǎn)聯(lián)動(dòng)彈性伸縮

HPA每隔30秒輪詢一次目標(biāo)Pod的負(fù)載狀態(tài),當(dāng)目標(biāo)Pod的負(fù)載上升且負(fù)載高于指定的靜態(tài)擴(kuò)容閾值之后,會(huì)根據(jù)擴(kuò)容策略進(jìn)行擴(kuò)容生成新的Pod,當(dāng)目標(biāo)Pod的負(fù)載下降且負(fù)載低于指定的靜態(tài)縮容閾值一段時(shí)間之后,又會(huì)根據(jù)縮容策略進(jìn)行縮容回收集群中的Pod,其伸縮公式為:

其中,ER(Expect Replicas)為期待的Pod 副本數(shù)量,即通過算法計(jì)算后所得到的Pod 副本數(shù)量,cR(current Replicas)是在當(dāng)前狀態(tài)下檢測(cè)到的Pod 的副本數(shù)量,cM (current Metric value)是當(dāng)前所檢測(cè)到的指標(biāo)值,例如CPU 利用率、內(nèi)存使用情況等,dM (desired Metric value)為擴(kuò)縮容的閾值,也就是期望Pod的指標(biāo)值,ceil表示了期待的Pod副本數(shù)量的值是大于或者等于該數(shù)的最近一個(gè)整數(shù)[5]。

3 實(shí)驗(yàn)結(jié)果分析

隨著容器實(shí)例數(shù)量增加,CPU 和內(nèi)存資源占用隨之增加,逐漸逼近預(yù)設(shè)閾值的60%。通過HPA和CA工作流程,實(shí)施表1的負(fù)載均衡策略,對(duì)容器集群的QPS/CPU/內(nèi)存/響應(yīng)時(shí)間等因素限定閾值。容器資源限制設(shè)置需要根據(jù)實(shí)際情況進(jìn)行調(diào)整,避免獨(dú)占資源過多,影響整個(gè)容器集群的性能和可用性。增加集群節(jié)點(diǎn)數(shù)量,容器實(shí)例數(shù)量也可以相應(yīng)地增加,從而提高容器集群的彈性和可擴(kuò)展性。不合理的集群節(jié)點(diǎn)數(shù)量也會(huì)導(dǎo)致系統(tǒng)負(fù)載過重或資源浪費(fèi)等問題。

表1 基于HPA和CA的彈性負(fù)載均衡策略

從圖3 得到的實(shí)驗(yàn)結(jié)果分析可以看出,隨著Pod數(shù)量的增加逐漸逼近和超過CPU 預(yù)設(shè)的60%占比閾值,HPA+CA的彈性伸縮策略被激活,先進(jìn)行了擴(kuò)容,后隨著策略調(diào)整后又進(jìn)行了縮容,有效實(shí)現(xiàn)了容器集群的負(fù)載均衡。進(jìn)一步可以實(shí)現(xiàn)基于時(shí)間序列的負(fù)載預(yù)測(cè)和相應(yīng)的策略實(shí)施。

圖3 容器集群彈性伸縮測(cè)試結(jié)果

在應(yīng)對(duì)容器集群彈性伸縮管理的過程中,需要綜合考慮容器資源限制、集群節(jié)點(diǎn)數(shù)量、伸縮類型、觸發(fā)閾值等因素,因?yàn)檫@些因素之間是相互影響和重要相互作用的。在實(shí)際應(yīng)用中,需要根據(jù)實(shí)際情況進(jìn)行選擇和調(diào)整不同的算法,避免出現(xiàn)不合理的設(shè)置和影響整個(gè)容器集群的性能和可用性。

4 結(jié)論與展望

通過對(duì)容器資源限制、集群節(jié)點(diǎn)數(shù)量、負(fù)載均衡等方面的測(cè)試和數(shù)據(jù)分析,得出了以下結(jié)論:

1) 使用HPA+CA可以很容易做到彈性伸縮,且節(jié)點(diǎn)和Pod 的伸縮過程可以非常方便地觀察到,使用HPA+CA做彈性伸縮能夠滿足大部分業(yè)務(wù)場(chǎng)景需求。

2) 容器資源限制需要根據(jù)實(shí)際情況進(jìn)行調(diào)整,防止單個(gè)應(yīng)用獨(dú)占資源,避免因?yàn)橘Y源限制不合理而導(dǎo)致CPU 和內(nèi)存負(fù)載過重,從而影響容器集群的穩(wěn)定性。

3) 負(fù)載均衡策略可以更好地實(shí)現(xiàn)容器實(shí)例之間的負(fù)載均衡,提高容器集群的彈性能力。在實(shí)際應(yīng)用中,需要根據(jù)實(shí)際情況選擇合適的負(fù)載均衡算法和方法,在性能優(yōu)化方面不斷挖掘和實(shí)踐創(chuàng)新。

彈性伸縮技術(shù)主要?jiǎng)澐忠罁?jù)有:按伸縮時(shí)間劃分、按伸縮方向劃分。前者可分為響應(yīng)式和預(yù)測(cè)式伸縮,當(dāng)前容器云平臺(tái)大都采用的基于閾值的響應(yīng)式彈性伸縮技術(shù),預(yù)測(cè)式的彈性伸縮正由學(xué)術(shù)界廣泛研究[6]。

未來,容器技術(shù)將會(huì)在生產(chǎn)環(huán)境中得到更廣泛的應(yīng)用。如何利用容器技術(shù)實(shí)現(xiàn)高可用、高性能和高效率,是企業(yè)將必須面臨的挑戰(zhàn)和機(jī)遇。

猜你喜歡
資源
讓有限的“資源”更有效
污水磷資源回收
基礎(chǔ)教育資源展示
崛起·一場(chǎng)青銅資源掠奪戰(zhàn)
一樣的資源,不一樣的收獲
我給資源分分類
資源回收
做好綠色資源保護(hù)和開發(fā)
資源再生 歡迎訂閱
資源再生(2017年3期)2017-06-01 12:20:59
激活村莊內(nèi)部治理資源
決策(2015年9期)2015-09-10 07:22:44
主站蜘蛛池模板: 国产中文一区a级毛片视频| 免费a在线观看播放| a级免费视频| 成人午夜福利视频| 午夜福利视频一区| 国内丰满少妇猛烈精品播| 无码有码中文字幕| 国产亚洲精品无码专| 91在线一9|永久视频在线| 九色在线视频导航91| 日本欧美午夜| 国产福利一区视频| 国产亚洲精品精品精品| 亚洲水蜜桃久久综合网站| a级毛片免费看| 欧美日韩在线亚洲国产人| 999国产精品| 国产久草视频| 一级片一区| 午夜a视频| 亚洲无码精品在线播放| 中国美女**毛片录像在线| 亚洲精品免费网站| 男人天堂伊人网| 久久精品中文无码资源站| 九九视频在线免费观看| 亚洲欧美极品| 欧美日本一区二区三区免费| 日本91在线| 在线毛片网站| 免费观看成人久久网免费观看| 国产极品美女在线播放| 亚洲青涩在线| 成人午夜免费视频| 免费毛片全部不收费的| 久久精品嫩草研究院| 亚洲av无码专区久久蜜芽| 台湾AV国片精品女同性| 国产精品亚洲综合久久小说| 爱做久久久久久| 不卡国产视频第一页| 在线精品欧美日韩| 欧美特级AAAAAA视频免费观看| 国产福利一区视频| 日韩av在线直播| 精品人妻一区无码视频| www.99在线观看| 美女一区二区在线观看| 国产国拍精品视频免费看 | 国产视频自拍一区| 久久精品人妻中文系列| 国产青榴视频在线观看网站| 欧美专区日韩专区| 亚洲aaa视频| 成人综合网址| 青草免费在线观看| 蜜桃视频一区| 91香蕉视频下载网站| 久久国产成人精品国产成人亚洲 | 97久久人人超碰国产精品| 在线无码九区| 一本色道久久88亚洲综合| 免费看a级毛片| 99精品热视频这里只有精品7 | 91精品日韩人妻无码久久| 55夜色66夜色国产精品视频| 国产精选小视频在线观看| 久久无码高潮喷水| 亚洲天堂精品视频| 乱系列中文字幕在线视频 | 婷婷色在线视频| 美女高潮全身流白浆福利区| 女人av社区男人的天堂| 网友自拍视频精品区| 国产亚洲高清视频| 国产欧美日韩18| 久99久热只有精品国产15| 乱人伦中文视频在线观看免费| 奇米影视狠狠精品7777| 五月婷婷伊人网| 嫩草影院在线观看精品视频| 亚洲欧洲国产成人综合不卡|