国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Kubernetes的私有云PaaS服務(wù)資源管理調(diào)度系統(tǒng)研究

2024-05-29 11:42:14張碩
電子產(chǎn)品世界 2024年2期
關(guān)鍵詞:私有云容器

張碩

關(guān)鍵詞:Kubernetes;容器;私有云;資源管理調(diào)度

中圖分類(lèi)號(hào):TP315 文獻(xiàn)標(biāo)識(shí)碼:A

0 引言

私有云平臺(tái)包括基礎(chǔ)設(shè)施服務(wù)(infrastructureas a service,IaaS)、平臺(tái)即服務(wù)(platform as aservice,PaaS) 和軟件運(yùn)營(yíng)服務(wù)(software as aservice,SaaS)。企業(yè)范圍內(nèi)的私有云應(yīng)用主要包括移動(dòng)互聯(lián)網(wǎng)應(yīng)用、物聯(lián)網(wǎng)應(yīng)用和大數(shù)據(jù)處理應(yīng)用等,支撐這些應(yīng)用的平臺(tái)軟件服務(wù)包含工作流引擎、復(fù)雜事件處理和大數(shù)據(jù)處理等相關(guān)服務(wù)[1]。隨著容器技術(shù)的廣泛使用與發(fā)展,越來(lái)越多的企業(yè)利用Docker(一個(gè)開(kāi)源的應(yīng)用容器引擎)建立其應(yīng)用平臺(tái),分析、執(zhí)行用戶提出的任務(wù)。容器比傳統(tǒng)虛擬機(jī)更具有優(yōu)勢(shì),其能夠在短時(shí)間內(nèi)建立應(yīng)用程序,可以在不同機(jī)器上進(jìn)行移植,并且資源開(kāi)銷(xiāo)較小。由于Docker 容器具有便攜性、可移植性和資源占用低等特點(diǎn),用戶可以利用Docker 建立共享和自動(dòng)化的云服務(wù)應(yīng)用工作平臺(tái)。Docker 通過(guò)組件迅速建立應(yīng)用程序,極大地消除了開(kāi)發(fā)與生產(chǎn)環(huán)境之間的差別,因此企業(yè)逐步使用Docker 建立其私有云平臺(tái)軟件服務(wù)平臺(tái)。

1 Docker相關(guān)概述

1.1 Docker 基本概述

Docker 封裝整個(gè)軟件運(yùn)行環(huán)境,使用戶可以將應(yīng)用程序作為一個(gè)平臺(tái)進(jìn)行分發(fā)或運(yùn)行。與傳統(tǒng)虛擬機(jī)相比,Docker 容器主要具備以下優(yōu)勢(shì):Docker容器不需要硬件仿真,可以直接運(yùn)行在主機(jī)的內(nèi)核,高效利用了系統(tǒng)資源;由于Docker 容器能夠運(yùn)行在主機(jī)實(shí)際物理內(nèi)存上,不需要打開(kāi)操作系統(tǒng),因此可以在短時(shí)間內(nèi)完成Docker 容器的運(yùn)行[2];容器本身具有直接運(yùn)行應(yīng)用程序的能力,Docker 容器運(yùn)行在私有云平臺(tái)和物理內(nèi)存上,均能夠進(jìn)行跨平臺(tái)的應(yīng)用遷移。

1.2 Docker 系統(tǒng)架構(gòu)

Docker 系統(tǒng)一般采取主從架構(gòu)模式。Docker守護(hù)程序從鏡像庫(kù)中加載所需鏡像,建立容器,并且控制容器的開(kāi)始和終止,同時(shí)一直監(jiān)聽(tīng)Docker客戶端通過(guò)Docker 應(yīng)用程序接口發(fā)送的請(qǐng)求。Docker 客戶端使用一組命令集合以實(shí)現(xiàn)用戶與Docker 之間的交互,Docker 客戶端通過(guò)Docker 應(yīng)用程序接口與Docker 守護(hù)程序建立連接,并將通信的結(jié)果反饋給用戶。Docker 服務(wù)端可以同時(shí)存在多個(gè)Docker 守護(hù)程序,一般是通過(guò)Docker 應(yīng)用程序接口交互的Docker 守護(hù)進(jìn)程形成,用于執(zhí)行用戶要求的必要參數(shù)信息。

2 Kubernetes相關(guān)概述

2.1 Kubernetes 基本概念

Kubernetes 是一種主流的容器管理系統(tǒng),已經(jīng)廣泛應(yīng)用在容器部署、管理和擴(kuò)展等方面[3],其目的主要是管理容器化的應(yīng)用程序和生命周期,使得用戶能夠高效調(diào)整服務(wù)規(guī)模,具有良好的可移植性和擴(kuò)展性。Kubernetes 憑借強(qiáng)大的部署能力為容器分配IP 地址,隱藏底層網(wǎng)絡(luò)的連接情況,用戶不僅可以擴(kuò)展Kubernetes 應(yīng)用程序功能,還能在一個(gè)應(yīng)用程序的不同版本間進(jìn)行切換。此外,Kubernetes 知識(shí)框架可以支撐集群開(kāi)發(fā)的資源對(duì)象,存儲(chǔ)系統(tǒng)和配置集中器負(fù)責(zé)存儲(chǔ)一切有關(guān)容器的信息。

Kubernetes 中每個(gè)集群都存在至少一個(gè)集群管理主節(jié)點(diǎn),一般位于一個(gè)獨(dú)立的物理機(jī)上,任何控制命令都會(huì)發(fā)送給主節(jié)點(diǎn),然后根據(jù)命令對(duì)整個(gè)集群進(jìn)行執(zhí)行、調(diào)度或者管理,一旦主節(jié)點(diǎn)發(fā)生故障,用戶便無(wú)法對(duì)集群進(jìn)行控制。Kubernetes 中存在若干個(gè)最小調(diào)度單元,每個(gè)最小調(diào)度單元包含若干個(gè)容器,這些最小調(diào)度單元使得Kubernetes 具備了創(chuàng)建、協(xié)調(diào)和管理的功能,使得多個(gè)服務(wù)模塊相互協(xié)調(diào)運(yùn)作。

2.2 Kubernetes 系統(tǒng)架構(gòu)

Kubernetes 是一種分布式主從結(jié)構(gòu),包括主節(jié)點(diǎn)和從節(jié)點(diǎn),其中主節(jié)點(diǎn)用于資源調(diào)度,從節(jié)點(diǎn)用于接收并執(zhí)行主節(jié)點(diǎn)分配的任務(wù)[4]。主節(jié)點(diǎn)包括應(yīng)用程序接口服務(wù)、存儲(chǔ)系統(tǒng)、調(diào)度器和集群控制中心,從節(jié)點(diǎn)包括最小調(diào)度單元、管理核心組件和集群服務(wù)對(duì)象。

在主節(jié)點(diǎn)中,應(yīng)用程序接口服務(wù)負(fù)責(zé)進(jìn)行模塊之間的交互,也是整個(gè)集群的輸入,接收用戶下達(dá)的調(diào)度和管理資源命令,并且將指令傳遞給管理核心組件。集群控制中心在整個(gè)生命周期都要對(duì)節(jié)點(diǎn)進(jìn)行健康檢查,而調(diào)度器主要負(fù)責(zé)分析集群控制中心的資源使用情況。

在從節(jié)點(diǎn)中,管理核心組件在接收到主節(jié)點(diǎn)的指令后,啟動(dòng)并監(jiān)聽(tīng)子節(jié)點(diǎn)上的最小單元,并且將綁定情況通過(guò)應(yīng)用程序接口服務(wù)反饋給主節(jié)點(diǎn),同時(shí)集群服務(wù)對(duì)象也會(huì)為集群中指定的最小單元建立訪問(wèn)路徑。

3 基于Kubernetes的私有云PaaS服務(wù)資源管理調(diào)度系統(tǒng)

3.1 系統(tǒng)需求分析

本文旨在為用戶設(shè)計(jì)一個(gè)基于Kubernetes 的私有云PaaS 服務(wù)資源管理調(diào)度系統(tǒng)(Kubernetesbasedcontainer cloud PaaS service resource managementscheduling system, KPRMS),從而降低私有云PaaS服務(wù)建立、操作和維護(hù)的難度。該系統(tǒng)對(duì)工作流引擎、復(fù)雜事件處理服務(wù)和大數(shù)據(jù)處理等服務(wù)所需的環(huán)境和資源進(jìn)行統(tǒng)一的資源管理調(diào)度。

在私有云PaaS 系統(tǒng)中的各種應(yīng)用,既能夠單獨(dú)提供服務(wù),又能夠享受其他應(yīng)用服務(wù)。通過(guò)對(duì)系統(tǒng)硬件資源的合理使用,KPRMS 不僅可以協(xié)調(diào)資源需求和依賴之間的關(guān)系,還可以提升應(yīng)用服務(wù)的質(zhì)量。本文充分利用Kubernetes 的優(yōu)勢(shì)建立了KPRMS,其功能需求如下:服務(wù)注冊(cè)發(fā)現(xiàn)、資源監(jiān)測(cè)、資源預(yù)測(cè)、資源分配與調(diào)度、私有鏡像庫(kù)以及PaaS 服務(wù)管理門(mén)戶。

3.2 系統(tǒng)架構(gòu)設(shè)計(jì)

KPRMS 部署架構(gòu)如圖1 所示,用戶可以通過(guò)網(wǎng)頁(yè)圖形用戶界面(website graphical user interface,Web GUI)對(duì)PaaS 服務(wù)管理門(mén)戶進(jìn)行交互,為用戶提供統(tǒng)一且便捷的管理接口。整個(gè)KPRMS 是通過(guò)Kubernetes 而建立的, 其模塊的功能如下:Kubernetes 和Docker 可實(shí)現(xiàn)對(duì)KPRMS 的管理;系統(tǒng)內(nèi)通過(guò)API Server 接口進(jìn)行通信;資源監(jiān)測(cè)模塊負(fù)責(zé)監(jiān)測(cè)系統(tǒng)計(jì)算資源占用情況;資源調(diào)度模塊對(duì)容器進(jìn)行計(jì)算資源的分配;資源預(yù)測(cè)模塊對(duì)計(jì)算資源使用情況預(yù)測(cè)并重新分配適當(dāng)?shù)挠?jì)算資源;容器性能監(jiān)控工具cAdvisor 實(shí)時(shí)監(jiān)測(cè)系統(tǒng)的運(yùn)行情況。

3.3 系統(tǒng)資源監(jiān)測(cè)

KPRMS 中的資源監(jiān)測(cè)模塊采用了分布式主從架構(gòu)。守護(hù)進(jìn)程可與容器性能監(jiān)控工具進(jìn)行通信,通過(guò)周期性的訪問(wèn)工作節(jié)點(diǎn)來(lái)計(jì)算資源使用情況,并將訪問(wèn)結(jié)果發(fā)送到信息收集節(jié)點(diǎn)。主機(jī)守護(hù)程序在接收到信息收集節(jié)點(diǎn)發(fā)送的消息后,通過(guò)運(yùn)行系統(tǒng)命令來(lái)獲得工作節(jié)點(diǎn)的計(jì)算資源使用信息,并將信息反饋給信息收集節(jié)點(diǎn)。信息收集節(jié)點(diǎn)在主節(jié)點(diǎn)上運(yùn)行,通過(guò)從守護(hù)進(jìn)程獲得該節(jié)點(diǎn)上的資源使用情況,并將獲得的信息存儲(chǔ)在數(shù)據(jù)庫(kù)中,最后與調(diào)度器進(jìn)行通信。前端的數(shù)據(jù)顯示環(huán)節(jié)是通過(guò)開(kāi)源框架構(gòu)建的。

3.4 系統(tǒng)資源調(diào)度

KPRMS 資源調(diào)度模塊的應(yīng)用程序接口可通過(guò)解析用戶自定義的服務(wù)描述文件,將其轉(zhuǎn)換成資源需求信息發(fā)送給調(diào)度器,調(diào)度器根據(jù)資源使用情況為每個(gè)任務(wù)分配一個(gè)合適的主節(jié)點(diǎn)以及計(jì)算資源,并與資源監(jiān)測(cè)模塊進(jìn)行通信,從而獲得KPRMS 系統(tǒng)中可用的計(jì)算資源。

3.5 系統(tǒng)資源預(yù)測(cè)

在KPRMS 的資源預(yù)測(cè)模塊中,決策部分接收從資源監(jiān)測(cè)模塊發(fā)送的計(jì)算資源使用信息,并以此作為模型的訓(xùn)練樣本,建立模型后對(duì)短時(shí)間內(nèi)的計(jì)算資源使用情況做出預(yù)測(cè)。將決策結(jié)果發(fā)送給配置執(zhí)行部分,由其將決策結(jié)果整合成調(diào)度應(yīng)用程序接口請(qǐng)求,使用橫向擴(kuò)展的方式實(shí)現(xiàn)對(duì)應(yīng)用服務(wù)的動(dòng)態(tài)計(jì)算資源分配。

3.6 系統(tǒng)測(cè)試

鏡像庫(kù)是一個(gè)能夠進(jìn)行高度擴(kuò)展的服務(wù)器端應(yīng)用程序,用戶通過(guò)圖形用戶界面實(shí)現(xiàn)對(duì)私有云Docker 鏡像的管理,Docker 鏡像中心為用戶提供了網(wǎng)頁(yè)端界面、查詢、管理和下載鏡像等功能。

在測(cè)試過(guò)程中,KPRMS 通過(guò)YAML 文件對(duì)應(yīng)用進(jìn)行描述,明確應(yīng)用對(duì)于資源的需求情況,設(shè)計(jì)一個(gè)簡(jiǎn)便的網(wǎng)頁(yè)應(yīng)用。前端是一個(gè)能夠?qū)?shù)據(jù)庫(kù)進(jìn)行讀寫(xiě)的程序,后臺(tái)是一個(gè)MySQL 數(shù)據(jù)庫(kù),在YAML 描述文件中明確了網(wǎng)頁(yè)程序?qū)?shù)據(jù)庫(kù)的依賴關(guān)系。YAML 文件通過(guò)門(mén)戶管理進(jìn)行上傳,KPRMS 在解析完應(yīng)用間的依賴關(guān)系后,通過(guò)資源調(diào)度模型給所有應(yīng)用分配合適的部署節(jié)點(diǎn),并依據(jù)用戶需求為應(yīng)用分配計(jì)算資源。

4 結(jié)語(yǔ)與展望

本文設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于Kubernetes 的私有云PaaS 服務(wù)資源管理調(diào)度系統(tǒng),該系統(tǒng)可解決由于私有云PaaS 服務(wù)應(yīng)用之間相互依賴和制約所引發(fā)的一系列有關(guān)服務(wù)質(zhì)量下滑問(wèn)題。通過(guò)提出并設(shè)計(jì)該系統(tǒng)的資源監(jiān)測(cè)、資源調(diào)度以及資源預(yù)測(cè)模型,開(kāi)發(fā)了一個(gè)PaaS 服務(wù)管理門(mén)戶。當(dāng)前工作取得了一定的成果,但仍然需要進(jìn)行更深入的研究,例如,在對(duì)容器資源檢測(cè)時(shí),探討應(yīng)用類(lèi)型和詢問(wèn)周期之間存在的關(guān)系;容器在自適應(yīng)分配資源的調(diào)節(jié)過(guò)程中,在調(diào)度開(kāi)始與部署完成之間存在延時(shí),為了避免由此引發(fā)不穩(wěn)定的服務(wù),需要對(duì)系統(tǒng)資源調(diào)度策略不斷優(yōu)化。

猜你喜歡
私有云容器
Different Containers不同的容器
容器倒置后壓力壓強(qiáng)如何變
人心像一個(gè)容器
難以置信的事情
企業(yè)創(chuàng)新私有云平臺(tái)的搭建探究
高校私有云的架構(gòu)和實(shí)施
虛擬網(wǎng)絡(luò)建設(shè)思考與實(shí)現(xiàn)
考試周刊(2016年99期)2016-12-26 10:53:29
基于私有云的高校教學(xué)機(jī)房可行性研究
私有云的研究現(xiàn)狀與發(fā)展趨勢(shì)
科技視界(2016年9期)2016-04-26 18:27:12
面向移動(dòng)醫(yī)療的私有云平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
科技視界(2016年5期)2016-02-22 12:58:21
高邮市| 花莲市| 乌拉特前旗| 当雄县| 南岸区| 石台县| 贞丰县| 西城区| 夏津县| 阿勒泰市| 东山县| 阳谷县| 金阳县| 两当县| 衡阳县| 常德市| 大渡口区| 手机| 西林县| 南郑县| 八宿县| 甘孜县| 鄯善县| 遂溪县| 石狮市| 达尔| 南丰县| 新河县| 怀集县| 探索| 顺昌县| 乐山市| 惠水县| 平利县| 湾仔区| 本溪市| 东莞市| 潢川县| 永定县| 漳州市| 繁峙县|