敬请登录网站在线投稿
(t o u g a o.m e s n e t.c o m.c n)2021年第6期
11
D o c k e r容器技术的应用部署平台设计与研究
郭献彬1,林志达1,曹小明2,张华兵2
(1.中国南方电网有限责任公司,广州510670;2.南方电网数字电网研究院有限公司)
摘要:为了解决目前企业应用管理平台存在的云储存服务器资源消耗不断增长的问题,从而为企业用户提供高可靠性服务,本文首先对基于云计算的D o c k e r容器技术进行了研究,在分析企业应用部署需
求的基础上,利用成熟的W e b应用开发框架,基于D o c k e r容器引擎设计并实现了一套应用部署平台,同时还实现了应用的编排和自动部署㊂从C P U和内存资源使用率的角度考量,该应用部署平台能够在保证系统有效运行的前提下,更高效率地完成应用部署任务,具有一定的性能优势㊂
关键词:D o c k e r容器引擎;应用部署;云存储服务器
中图分类号:T P31文献标识码:A
D e s i g n a n d R e s e a r c h o f A p p l i c a t i o n D e p l o y m e n t P l a t f o r m B a s e d o n D o c k e r
G u o X i a n b i n1,L i n Z h i d a1,C a o X i a o m i n g2,Z h a n g H u a b i n g2
(1.C h i n a S o u t h e r n P o w e r G r i d C o.,L t d.,G u a n g z h o u510670,C h i n a;
2.D i g i t a l G r i d R e s e a r c h I n s t i t u t e o f C h i n a S o u t h e r n P o w e r G r i d C o.,L t d.)
A b s t r a c t:T o s o l v e t h e i n c r e a s i n g r e s o u r c e c o n s u m p t i o n o f c l o u d s t o r a g e s e r v e r i n e n t e r p r i s e a p p l i c a t i o n m a n a g e m e n t p l a t f o r m a n d p r o-v i d e h i g h r e l i a b i l i t y s e r v i c e s f o r e n t e r p r i s e u s e r s,t h e D o c k e r c o n t a i n e r t e c h n
o l o g y b a s e d o n c l o u d c o m p u t i n g a r e d i s c u s s e d.O n t h e b a s i s o f a n a l y z i n g t h e r e q u i r e m e n t s o f e n t e r p r i s e a p p l i c a t i o n d e p l o y m e n t,a n a p p l i c a t i o n d e p l o y m e n t p l a t f o r m i s d e s i g n e d a n d i m p l e m e n t e d b a s e d o n D o c k e r c o n t a i n e r e n g i n e b y u s i n g m a t u r e W e b a p p l i c a t i o n d e v e l o p m e n t f r a m e w o r k.M e a n w h i l e,t h e a p p l i c a t i o n s c h e d u l i n g a n d a u t o-m a t i c d e p l o y m e n t a r e a l s o r e a l i z e d.F r o m t h e p e r s p e c t i v e o f C P U a n d m e m o r y r e s o u r c e u t i l i z a t i o n,t h e a p p l i c a t i o n d e p l o y m e n t p l a t f o r m c a n c o m p l e t e t h e a p p l i c a t i o n d e p l o y m e n t t a s k m o r e e f f i c i e n t l y o n t h e p r e m i s e o f e n s u r i n g t h e e f f e c t i v e o p e r a t i o n o f t h e s y s t e m,a n d h a s c e r t a i n p e r f o r m a n c e a d v a n t a g e s.
K e y w o r d s:D o c k e r c o n t a i n e r e n g i n e;a p p l i c a t i o n d e p l o y m e n t;c l o u d s t o r a g e s e r v e r
0引言
目前,I T技术不断更新换代,微服务技术越来越普及,以往依靠人工方式部署应用的时代已经被不断更新的先进技术取代㊂企业与云服务商都在探索自动化应用服务部署的新方向㊂传统的部署流程需要先获取服务器资源,接着构建部署集并部署集环境,最后再开始进行应用部署㊂并且,越来越多样化的应
用服务逐步优化,软件架构也不断更新,部署流程随时要面临重新进行更新的情况,严重影响了企业效率㊂在目前的技术下,通过容器虚拟化的方式可以充分发挥操作系统的特性,达到轻量级虚拟化的要求㊂D o c k e r容器虚拟化技术通过建立设备管理自动运维部署云平台,为广大的小企业用户提供了新的解决方案[1]㊂
D o c k e r引擎是一个开源容器技术,以L i n u x容器技术为基础㊂并且在其基础上,D o c k e r还对容器的使用体验进行了完善,并且支持在大多数云平台和本地系统上部署[2]㊂在应用部署过程中,G o o g l e推出了并行计算框架M a p R e d u c e,主要针对大数据处理㊂其中,S p a r k就是在此基础上开发的,不仅在数据的处理速度方面有了提升,还降低了分布式计算的复杂度,但传统S p a r k运行模式仍然对系统资源的利用率较低㊂在实际云环境中,目前用户需要一个更加完善的容器化S p a r k资源部署方案,以便在面对大数据资源调度问题时能够充分利用系统资源㊂在云平台上按需求创建并有效运行各种分布式应用程序,已经成为当前企业和运维人员亟待解决的问题㊂以容器的形式对S p a r k集进行部署,有可能会导致处理任务过程中性能的损失㊂基于此,本文提出了一种分层优先
12
M i c r o c o n t r o l l e r s &E m b e d d e d S y
s t e m s 2021年第6期w w w .m e s n e t .c o m .c n
级调度程序(H i e r a r c h i c a l P r i o r i t y S
c h e
d u l
e r ,H P S )策略,通过分析容器化的特性对W o r k e r 节点进行了分层,从而提升S p a r k 集的整体性能㊂在此基础上,本文进一步设计了基于D o c k e r 容器技术的设备管理云平台系统,并对系统功能进行了测试,从而实现资源利用更加高效的应用部署平台㊂
1 方 法
1.1 基于云计算的D o c k e r 容器技术
云计算是在互联网基础上实现随时㊁按需访问共享资源库的一种模式㊂企业在维持现有硬件基础设施的情况下,通过云计算技术可以访问统一共享资源池中的计算资源㊂完整的云计算环境包括云端㊁网络与终端三个部分:云端通过调用平台内硬件资源完成用户提交的任务;网络负责将云端与用户连接,同时调度分布式集内的各种计算资源;终端是用户完成输入和接收输出结果的设备㊂云架构通常分为基础设施层(I a a S )㊁软件服务层(S a a S
)和平台层(P a a S )㊂I a a S 层提供给消费者的服务是对所有计算
基础设施的利用(包括C P U ㊁通信㊁存储㊁网络等);S a a S 层将软件部署为托管服务,用户不需要购买软件,可以通过网络访问所需要的服务;P a a S 层是承上启下的中间层,在供应商云计算平台上部署用户提供的开发语言和应用程序㊂
虚拟化是帮助云平台实现资源池化以及按需提供资源分享㊁进行资源管理的重要技术,从而提高闲置资源利用率㊂作为一个开源的应用容器引擎,D o c k e r 能够打包
应用并发布到任何的L i n u x 机器上,并且通过L i n u x 的
N a m e s p
a c e s 对不同的容器实现隔离[3]
㊂D o c k e r 由两个主要组件组成,一个供用户使用的命令行应用程序和一个管理容器的守护进程㊂P a a S 平台的发展离不开D o c k e r 容器技术的推进作用,其技术架构如图1所示㊂D o c k e r 技
术属于客户端/服务器架构,其中的D o c k e r 引擎是程序的
核心模块,用户之间的交互可以通过客户端与本地引擎来完成
㊂
图1 D o c k e r 技术架构
D o c k e r 容器与传统虚拟机之间的架构对比如图2所
示㊂就传统虚拟机而言,一台主机中最多只承载几十台虚拟机来运行,而D o c k e r 容器技术的运行能力则远远超出㊂
从图2中可以看出,D o c k e r 引擎层的出现已经完全取代了传统操作中的系统层和管理层㊂在访问物理内存时,虚拟机对于虚拟地址的处理一般要经历虚拟地址 虚拟物理地址 物理地址这一过程㊂而D o c k e r 技术则对这一步骤进行了改进,可以直接从虚拟地址 物理地址,因此在运行速度上有了明显提升㊂此外,D o c k e r 技术直接利用硬件资源进行应用环境的隔离,再通过C g r o u p 的资源限定完成对根环境的隔离,比虚拟机在操作系统层面的隔离效果更佳㊂D o c k e r 因为其独有的架构和特性,container容器用法
可以在一秒内启动容器,其启动速度远远快于虚拟机[
4]
㊂图2 D o c k e r 容器与虚拟机之间的对比
1.2 S p
a r k 集部署方式应用自动部署模块主要负责的内容包含资源监控㊁预测㊁调度㊁部署以及数据处理㊂但资源利用没有达到要求时,则启动资源调度功能来重新对资源进行分配,之后再下载㊁解析应用部署包,通过启动应用部署来执行相关操作㊂应用容器集完成自动部署的步骤可以分为3步:①企业的运维人员进入系统开始进行应用的自动部署,
系统进入对应页面;②在对应的页面中,操作者将部署包上传至系统,确定具体的部署方式,由系统运行相关的协同配置文件;③系统将得到的部署结果在页面中反馈㊂运维人员可以通过监控功能获取节点的资源使用率信息,进而结合调度与预测功能协助应用的自动部署㊂之后,由操作者向镜像仓库发出请求,下载部署包并上传至系统,再解析应用部署包㊁读取配置文件㊁下载通信录后,系统会部署应用容器集,完成应用自动部署㊂
目前,将S p
a r k 集以容器形式运行已经得到了一致的认同,容器化管理更加便捷,资源利用率也更高[
5]
㊂容器化的S p
a r k 集资源调度更注重任务处理过程中的整体性能,希望能在具体应用中忽略操作复杂性㊂在S p a r k 运行过程中,首先由d i r v e r 创建一个S p a r k C o n t e x t ,负责资源的分配以及使用情况的监测;资源管理器启动E x c u t o r 进程;S p a r k C o n t e x t 根据D A G 图将资源解析成s t a g
e ,并提交给底层的T a s k S c h e d u l e r 处理;E x e c u t o r 向S p
a r k
敬请登录网站在线投稿(t o u g
a o .m e s n e t .c o m.c n )
2021年第6期
13
C o n t e x t 申请T a s k ,T a s k S c h e d u l e r 将T a s k 传送至E x e c -u t o r 运行;T a s k 在E x e c u t o r 运行后并将结果反馈至T a s k
S c h e d u l e r ,一层层反馈上去,最后释放资源㊂S p
a r k 运行架构的特点在于多线程运行,且运行过程与资源管理器无
关[6]
㊂S p
a r k 运行中各角的关联如图3所示
㊂图3 S p
a r k 运行中各角的关联1.3 H P S 任务调度算法
S p
a r k 集实质上是由M a s t e r 和W o r k e r 这两类节点共同构成的㊂在W o r k e r 节点上都会有对资源进行监
测的模块,可以将获取的信息传递给M a s t e r 节点㊂
M a s t e r 节点接收数据信息后,计算各节点的选择权值并调整权值信息,最后将其更新到缓存中[
7-8]
㊂为了解决容器化S p a r k 集在异构环境中进行任务调度时资源利用率低的问题,本文提出了一种H P S 调度策略,
以缩短任务完成总耗时㊂H P S 策略充分考虑了S p a r k 任务调度时依据的规则,并且考虑到了W o r k e r 节点的实际性能,从而对现有调度机制进行了改进㊂
用U c p
u 表示当前活跃W o r k e r 节点的C P U 利用率,用c t 表示上限阈值,t 时刻U c p
u 的计算如下:U c p u t
=u s e r t +s y s t +n i c e t -u s e r t -1+s y s t -1+n i c e t -1 T o t a l t -T o t a l t -1
(1
)T o t a l t -1=u s e r t -1+s y s t -1+n i c e t -1+i d l e t -1+
i o w a i t t -1+i r q t -1+s o f t i r q t -1
(2)T o t a l t =u s e r t +s y s t +n i c e t +i d l e t +i o w a i t t +i r q t +s o f t i r q t
(3
)其中,t 和t -1表示两个短时间间隔,u s e r 表示用户
态运行时间,s y s 表示核心态运行时间,n i c e 表示低优先级用户态时间,i d l e 表示I /O 等待时间,i o w a i t 为等待时间,
i r q 和s o f t i r q 分别表示硬中断和软中断时间㊂
用U m e n 表示当前W o r k e r 节点的内存利用率,M t 表示上限阈值,U m e n 计算可以表示为:
U m e n t
=M e n T o t a l t -M e n F r e e t -B u f f e r t -C a c h e t
T o t a l t
(4)其中,U m e n t
为t 时刻的节点内存利用率;M e n T o t a l t 表示节点内存总容量,M e n F r e e t 表示节点空闲容量㊂
H P S 策略包括节点权值评估算法(NWA )
和分层调度算法(L S A )㊂NWA 算法可以在监测到集中活跃的W o r k e r 节点负载后,实时上报到M a s t e r 节点,
进而动态化地计算各节点的分配权值[9]
㊂L S A 算法包括节点层级
划分㊁节点排序和执行任务调度三个环节㊂基于L S A 算法的分配方式可以发挥容器化的优势,提升容器S p a r k 集的整体处理性能㊂
1.4 企业应用部署平台设计
在设计企业应用部署平台前,首先要分析用户的实际需求㊂企业应用部署平台是一个W e b 系统,
主要解决应用部署中主机资源申请㊁应用服务部署㊁单据创建及审批
应用信息等问题[
10]
㊂本文所设计的企业应用部署平台主要是由W e b 平台㊁
资源编排模块以及应用服务部署与存储模块三个部分组成㊂除存储模块外,其余模块之间均采用H t t p 请求通信,
且每个模块可独立运行㊂企业应用部署平台系统总体架构如图4所示㊂采用D o c k e r 容器技术对系统的各项功能进行封装,独立部署
㊂
图4 企业应用部署平台系统总体架构
用户在使用平台时,当填写完应用信息并审批通过部署单据后,用户则可一键关联单据完成应用部署㊂系统收到用户的应用部署请求后,首先对单据信息的正确性进行检测,接着通过底层资源编排㊁应用部署与存储来实现服务器集的构建,最后拉取D o c k e r 镜像部署㊂
2 结果与讨论
2.1 容器化S p
a r k 集下H P S 任务调度算法性能
本文选择标准测试数据集W o r d C o u n t
,对容器化S p
a r k 集下H P S 任务调度算法性能进行测试㊂进行重复实验求取平均值,所得结果如图5所示㊂在数据达到大于7G B 后,基于S p
a r k 集的原始调度策略完成任务的
14
M i c r o c o n t r o l l e r s &E m b e d d e d S y
s t e m s 2021年第6期w w w .m e s n e t .c o m .c n
时间增长趋势越来越显著㊂而本文提出的H P S 调度策略在数据量不断增大的情况下,能更好地发挥S p a r k 的处理性能,主要在于H P S 策略在进行调度前首先会划分各级的层次,而且会根据节点实际处理能力划分,减少了等待耗时
㊂
图5 H P S 调度策略完成任务时间
本次实验又选择数据集H i B e n c h 7.0中的三种不同作业类型作为测试样本,对原始调度策略与H P S 调度策略完成任务的时间进行对比,结果如图6所示㊂三种作业
类型S o r t (I /O 密集型)㊁K m e a n s (C P U 密集型)和P a g
-e R a n k (I /O 密集型)的任务量分别为2G B ㊁1.5G B 和
1G B ㊂可以看出,基于H P S 算法的调度策略在三种作业类型中,与S p a r k 原始的调度策略相比,在效率上均有明显提高,其中在P a g e R a n k 中的应用优势最显著㊂主要原因在于H P S 调度策略对不同节点的C P U 处理能力进行了综合评估,并以此作为实际调度的参考依据
㊂
图6 H P S 调度策略完成H i B e n c h 7.0不同作业类型的时间
2.2 D o c k e r 应用部署功能的实现及资源调度
测试
W e b 平台通过传递部署任务数据,
调用底层资源编排及应用部署模块,从而实现应用部署㊂用户需要填写应
用名称㊁需要使用的集大小㊁单据信息等信息,待部署单据审核通过后就可以进行应用服务发布㊂为了保证系统的稳定运行,本文对应用部署平台进行了系统测试,以验证各模块功能的实现情况及能否成功运行㊂通过黑盒测试,选用测试用例对系统模块功能及性能进行了测试,资源调度测试结果如图7所示
㊂
图7 应用部署平台资源调度测试结果
设定每15s 对应用容器资源的使用率记录一次,
共保留10条记录㊂如果有新数据生成,
资源调度模块会自动对应用容器资源进行调整㊂通过测试结果可以看出,
C P U 的使用率降低至70%,
且成功完成了应用容器间的资源调度㊂
3 结 语
微服务及容器技术在当前环境中受到越来越多的关
注和应用,企业逐渐朝着微服务架构方向拓展㊂D o c k e r 技术发展逐渐成熟,应用调度方法也在不断改善㊂在D o c k e r 的应用发布流程中每一个环节都封装好了应用程
序所需的环境信息,便捷高效㊂确保企业I T 资源的充分利用,并且为D o c k e r 容器集中的应用提供可靠的运行环境是一个重要问题㊂
本文主要讨论了基于D o c k e r 容器技术的资源调度问
题,以及应用集管理系统的设计与实现㊂考虑到传统的容器调度算法在应对集容器调度时容易产生大量重复性工作,本文在保证集负载均衡的基础上,提出了一种H P S 调度策略,提升了集的交付速度㊂本文基于D o c k e r 设计的应用部署平台能够实现应用包创建㊁资源调度㊁应用自动部署与自动更新等功能,可以为企业提供一个稳定㊁高效的应用资源调度方案
㊂
参考文献
[1]相铮,石春鹏,韩立新.D o c k e r 容器技术在M E S 系统部署中
的应用[J ].制造业自动化,2020,42(4):116119.[2]刘顺.基于L i n u x 的私有云及容器部署设计与实现[J ].
中国新通信,2019,21(18):53.
[3]邹保平,黄文思,张文晋,等.基于D o c k e r 的应用部署管理平
台研究[J ].电子设计工程,2017,25(12):4144,48.
[4]马越,黄刚.基于D o c k e r 的应用软件虚拟化研究[J ].
软件,2015,36(3):1014.
敬请登录网站在线投稿
(t o u g
a o .m e s n e t .c o m.c n )
2021年第6期
19
图9 团簇的累积能量利用率
4 结 语
随着云计算和大数据的发展,VM s 的概念已经被轻
量级容器所取代㊂管理这些容器的最佳选择之一是利用G o o g l e 的K u b e r n e t e s ,它有一个内置的任务调度程序和同步器㊂然而,目前尚未探讨诸如性能干扰和能量最小化等重要因素㊂因此,本文专门为K u b e r n e t e s 设计了一个名为K D S 的复合控制器,所设计的控制器是节能的,与其他现有的先进方案相比具有优越的性能㊂能源效率问题被描述为一个MO O P ,它可以实现容器的优化调度㊂实验结果表明,该方案在减少碳足迹和来自相同或不同节点上共存容器的干扰情况下,具有更好的整体能量最小化优势
㊂
参考文献
[1]X u L ,H e W ,L i S .I n t e r n e t o f T h i n g s i n I n d u s t r i e s :A S u r v e y
[J ].I E E E T r a n s a c t i o n s o n I n d u s t r i a l I n f o r m a t i c s ,2014,10
(4):22332243.
[2]沈苏彬,杨震.工业互联网概念和模型分析[J ].
南京邮电大学学报(自然科学版),2015,35(5):110.
[3]康世龙,杜中一,雷咏梅,等.工业物联网研究概述[J ].
物联网技术,2013,3(6):8082,85.[4]杜军.基于K u b e r n e t e s 的云端资源调度器改进[D ].
杭州:浙江大学,2016.
[5]M e d e l V ,A r r o n a t e g u i U ,B a ña r e s J ,e t a l .M o d e l i n g
,C h a r a c -t e r i s i n g a n d S c h e d u l i n g A p p
l i c a t i o n s i n K u b e r n e t e s [C ]//E c o -n o m i c s o f G r i d s ,C l o u d s ,S y
s t e m s ,a n d S e r v i c e s ,16t h I n t e r n a -t i o n a l C o n f e r e n c e ,G E C O N 2019,L e e d s ,U K ,2019:291294.
[6]B i r a n Y ,P a s r i c h a S ,C o l l i n s G ,e t a l .E n a b l i n g g
r e e n c o n t e n t d i s t r i b u t i o n n e t w o r k b y c
l o u d o r c h e s t r a t i o n [C ]//S m a r t C l o u d N e t w o r k s &S y
s t e m s .D u b a i ,I E E E ,2016:18.[7]K h o s r a v i A ,A n d r e w A ,B u y y a R.D y
n a m i c VM P l a c e m e n t M e t h o d f o r M i n i m i z i n g E n e r g y a
n d C a r b o n C o s t i n G e o -g r a p h i c a l l y D
i s t r i b u t e d C l o u d D a t a C e n t e r s [J ].I E E E T r a n s -a c t i o n s o n S u s t a i n a b l e C o m p u t i n g
,2017,2(2):183196.[8]M e d e l V ,R a n a O ,B a ña r e s J ,e t a l .M o d e l l i n g P
e r
f o r m a n c e &R e s o u r c e M a n a g
e m e n t i n K u b e r n e t e s [C ]//2016I E E E /A C M 9t h I n t e r n a t i o n a l C o n
f e r e n c e o n U t i l i t y a n d C l o u d C o m p u t i n g
(U C C ),S h a n g
h a i ,2016:257262.[9]W i l k e s J ,M o r e G o o g
l e C l u s t e r D a t a [E B /O L ].[202012].h t t p ://g o o g l e r e s e a r c h .b l o g s p
o t .c o m /2011/11/m o r e g o o g
l e c l u s t e r d a t a .h t m l .郑忠斌(高级工程师)㊁李世强(学士),主要研究方向为工业互联网领域标识解析㊁工业互联云平台㊁大数据分析等技术研究和系统开发;费海平(高级工程师),主要研究方向为工业互联网㊁智能制造㊁核心共性技术研发㊁工业自动化㊁数字化㊁智能化㊂通信作者:郑忠斌,s a o s u 841@163.c o m ㊂
(责任编辑:薛士然 收稿日期:2020-12-18
) [5]张恬恬,孙绍华.基于S p a r k 的云计算平台在实验室的应用与实现[J ].软件导刊,2018,17(4):195197.
[6]L i u P ,Y e S ,W a n g C ,e t a l .S p a r k B a s e d P a r a l l e l G e n e t i c A l g
o -r i t h m f o r S i m u l a t i n g a S o l u t i o n o f O p t i m a l D e p l o y
m e n t o f a n U n d e r w a t e r S e n s o r N e t w o r k [J ].S e n s o r s ,2019,19
(12):2717.
[7]杨志伟,郑烇,王嵩,等.异构S p
a r k 集下自适应任务调度策略[J ].计算机工程,2016,42(1):3135.
[8]徐佳俊,刘功申,苏波,等.基于S p
a r k 的异构集调度策略研究[J ].计算机科学与应用,2016,6(11):13.
[9]杜旭涛,邢春晓,周立柱.使用NWA 对组合w e b 服务进行
可达性分析[J ].东南大学学报(英文版),2008,24(3)
:293295.
[10]K r a s a n a k i s E ,P a p a d o p o u l o s S ,K o m p a t s i a r i s Y .U n s u p
e r v i s e d e -v a l u a t i o n o
f m u l t i p l e n o d e r a n k s b y r e c o n s t r u c t i n
g l
o c a l s t r u c -t u r e s [J ].A p p
l i e d N e t w o r k S c i e n c e ,2020,5(1):132.郭献彬㊁林志达㊁曹小明㊁张华兵,主要从事信息系统建设与运行管理工作㊂通信作者:林志达,b i s h u i y
@163.c o m ㊂(责任编辑:薛士然 收稿日期:2021-01-28
)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论