admin 管理员组文章数量: 1184232
2024年2月5日发(作者:typecho和zblog)
技术方案Tech
no
logy
Scheme数据通信2019.3基于CaaS的微服务运维平台设计----------------------------------------------------------------章仕锋
潘善亮(宁波大学信息科学与工程学院浙江宁波315211)摘
要:微服务架构已在许多信息系统中得到广泛运用,针对微服务架构下微服务应用的部署运维问题,本文
以Docker容器引擎和Kubernetes容器编排工具为基础,设计开发了针对微服务架构特T的容器云平台,云平台简
化微服务程序部署运维的操作,利用虚拟化集群的方式提高微服务应用的可用性,根据CaaS容器即服务
(Container
-as
-a
-
Service)的思想完成微服务组件的独立部署运行和业务功能伸缩。关键词:Docker
;
Kubernetes;容器云平台;微服务;容器即服务1引言云计算技术的出现和发展为计算机资源管理利用
2相关技术2.1微服务架构微服务架构(Microservice
Architect)% ?&
—词最早由
提供了高效可靠的平台支持,云计算的三种代表服务
模式
SaaS
(
Software
-
as
-
a
-
Service,软件即服务)、
Marin
Fowler与Jamet
Lewis于2014年共同提出,微服
务架构是一种新的软件架构风格,它将务功能划分
为细粒度的服务,
PaaS(PlaWoirn
-
as
-a
-
Service,平台即服务)、IaaS(Infrastructure
-as
-
a
-
Sericc,基础设施即服务)是目前
使用最广泛的云服务模型[1]'服务运行
的环境
,
服务
务
文,
机
行
,
能根以Docker技术为代表的容器虚拟化技术的出现
为云平台服务提供了一种全新的服务模式CaS容器
的语言、工
行建。与传统的SOA架构相比,最大的区别在于每一个
微服务运行
即服务(Container
-
at
-
a
-
Service)
,
CaaS
将云计算服
务以容器运行的方式提供给用户,这种方式相较于
的环境
,一服务的
的环境中,会PaS模式CaaS能够以更低的开销实现云平台环境的
搭建。CaaS模式和SaaS模式相比,将应用软件划分为
细粒度的原子系统,用户可以根
统的容器进行
用,能够
系统的
应,最
度的
体的
了系统整可靠。原子系2.2
DockerDocker是由PaaS企业dotCloud公司开发的一种
Go语言开发的开源、 的容器实现技术[3]o应变化的业务功能,服务可用更高。本文采用CaaS云服务设计理念,设计基于
Docker技术有很好的隔离性,通过容器的形式,创建一
理器、
和
虚拟
Docker容器引擎和Kubeaetes容器编排工具的微服
务应用统一运
平台,将微服务
、容器化技术
行结合实,一
管理服务
的发
布、运
计算机资源的,用户通过从Docker服务器端下载初始系统镜像,然后将应用程序打包移植到系统镜像上,形
'—新的
容器,该容器可以
到任意安装有4基金项目:浙江省公益性技术应用研究计划(2017C33001)
技术方案|
/2019.3数据通信Technology
Scheme
|Docket容器化技术为微服务应用程序提供了容器
Docker环境的机器上,容器之间可以通过轻量级的网
络协45行78"表!
Docker与传统虚拟化技术对比表Docker上的载体,而Kubemetes技术的出现解决了微服务容
器的编排、管理问题,Kubemetes技术和Docket技术的
VM虚拟机可以
业级微服务系统
用提
统一的容器管
理,能够方便的
启动速度占用计算机资源(内存/MB数量级容器量来实现用服"毫秒或秒级分钟级务的高可用•和
GE数量级硬盘)3总体设计Docker镜像基本单元虚拟化级别虚拟机镜像CaaS容器云平台是微服务应用的部署运维平台,
应用程序级虚拟化操作系统级虚拟化利用容器
服务的
理
,
将
微服务部署到
应用程序粒度细粒度强粗粒度立的容器环境中,容器
用Dockem技术实现,
Kubemetes来管理容器集群。容器云平台
分部署环境一致性资源利用率弱低采用微服务
的功能模块,
式来实现交互。,将容器
平台分解为的能
是各一微服高务应用程序,模块之间通过轻量级的RESTful
API的方
2.3
KubernetesKubernetes是谷歌提出的一种基于容器技术的分
容器
平台
持:交和容器池"主要分 可
化
、布式集群管理方案⑷,能够对部署有微服务程序的
Docker容器进行自动化运维管理。Kubernetes支持各
平台功能模块、基础资源模块、物理硬件模块、DevOps
可
化
是容器云平台的运维管理窗口,运维种编程语言,通过TCP协议实现管理节点之间的通信,
可以很方便的将原有系统迁移到Kubernetes平台上。Kubernetes利用Master组件和Node节点来实现
可以通过可
化
方便的管理
平台的性能,平台能
容器化实现
的容容器集群的管理,主要的组件和资源对象包括:(1)
Pod:
Kubemetet中最小管理单元,多个Docker
器平台功能,提
平台管理的
能,基
组件容器化平台的一
要
资源,
理
件是
容器可以在一个Pod中共享I十算机资源。平台的运行载体。DevOps持续交付为容器云平台提
微服务’布能,容器是容器平台的基,集成
(2)
Kubemetet
API
Semer:利用
Restful
API
来实现
操作"通信和对内部资源对象的增添修改等业务(3
)
Scheduler:用来调度集群中的各类资源"了
Docket引擎和Kubemetes编排的功能。33平台功能容器
平台 能的
2
,(4)Controller
Manager:对集群中的数据对象等资
源进行
能分
大,各
包含
子的同步操作。,每个子
程序。可以看作一个单一的微服务
用(5
)
Etcd:
Kubemetet集群的数据库接口,采用键值
对(key,value
)的方式保存服务,存储整个Kubemetet
(1)
集群配置主要包括集群创建、集群修改和集的状态信息"(6)
Kubelet:Mastem节点和Node节点之间的纽带,
对Pod容器的生命周期进行管理控等操作"群查看三个功能模块,通过构建Kubemetes集群的控
制接口,把一些集群的基本操作配置用程序语言来封
装,将集群控制的业务逻辑用程序中的
来实现。(7)
Kube
-
proxy
:Kubemetes集群中服务之间的通信组件,有 的功能。(2)
容器化平台
容器
来满足系统应对业务高峰低谷时的需求,通过响应式混合伸缩对5
技术方案Technology
Scheme像管理拉取旧的版本重新部署。数据通信2019.3(4)部署管理模块为用户提供了便捷的一键式微
服务器务应用容器
的集群位置、
,
用
过
相应的务应用程序,
设
要容器
的相应
数,
路由器需的镜像
新镜像并自动
,就可以
将交脚务程序
,
到容器之的微服务。过容器云平台发
3.2
Docker容器池设计Docker容器池是容器云平台生产、维护和销毁
容器编排
Dokcer容器的核心模块,容器池通过对Docker容器的
编排,使相
立的容器
镜像
过容器
的加
系。微服务程序容器引擎容器引擎容器引擎容器引擎容翻摩
,对
的发
为容器池拥有多实例高可用的微服务。容器池以Docker容器引
擎为基础,采用Kubernetes容器编排技术为手段,实现
图1容器云平台架构容器云平台功能丄集群配置
T容器池的各项功能"丄伸缩管理丁丄集群查看
容器生工容器销毁
镜像仓圉丄镜像管理〒丄参版本控制
数配置丄部署管理丄集集群创建群修改
丄服务发布
图2容器云平台功能模块
业务需求已使用的容器数进行检测,建立伸缩策略,当
检测到数值超过或低于设定的阈值时,向系统运维发
送提醒,运维人员可以根据设定的步长进行手动或自
动的增加或减少容器数量,同时向Kubernetes集群发
图3
Docker容器池设计出指令,调整相应的节点数量。(3
)镜像管理模块主要的对镜像仓库的管理和对
容器镜像版本的控制,镜像仓库是容器云平台保存管
理镜像的核心,镜像管理功能负责对镜像仓库中的镜
像增
,
用
过镜像管理模块可以当前镜像列表,当应用程序更新时,镜像管理模块为新
的容器镜像添加版本标签,用户可以方便的查看各个
版本的镜像
,
新
的镜像发
4^如图3所示,Docket容器池以Kubernetes的API
Sever为整个容器池的入口,用户通过RESTful
API的
方
对容器池的增
,Kubemetes分为Mastem节点和Node节点,M=tem节点是容器池总的
控制中心,负责监控各个Node节点,Node节点是容器
Doeke
容器的管理
,
容器的
建、-容器编排的过程可以分为:(1) 镜像仓库
过镜务的镜像,6
技术方案|
/2019.3数据通信Technology
Scheme
|微服务应用发布署到各个容器之中,以一个或多个容器形成相应的
Pod,Pod将作为容器池最基本的操作单位。(2)
微服务应用发布主要以DeOps持续交付的方式
进行,DevOps持续交付是容器云平台的
Node节点通过Kubelet来控制容器的部署启
之一,动化的流程动,并根据组合服务逻辑将相应的容器编排到Pod之
为微服务
部署、
操作提
中,利用Kube
-
proxy通信组件为Pod设置相应的
端口。管理,支持微服务 的迭代发布,DevOps持续交付是容器云平台
服务
之
接的
,
是
月艮务架构的
(3)
Masteo节点通过Node
Controlleo组件将相应
的Node节点连接发布到集群网络之中,创建Service
服务,Service服务是一组共同服务Pod的网络访问地
之一"址入口,Service服务的IP地址由容器云平台动态
分配"3.3
DevOps持续交付
持续交付持续交付部署作为一种新的软件开发模式,有力
地提高
的
容,,
开发通过部署运维平台在不进行整体更新的情况,成
服务 的发布更新。图5
DevOps发布微服务流程DevOps
持续交付发布 服务到容器云平台的过
程如图5
,具体的操作过程可以分为:(1)开发
服务
提交微服务应用程序代码,代码仓库通过自动化构建工具Jenkins⑸来创
图4持续交付部署建相应的
并将其集成到容器云平台测试服务<
,
新的
服务
发布
,
开发器中。(
2)
开发
人员对实例代码进行生成或配置,通过持续集成的方
式
进行
并
应用
的
建,
利用
动
化部署工具将相应程序部署到测试之中,根据测试反
容器云平台
开发
提交持续交付
、
,
相
配置操作进行设
,
容器配置
,
通过
动
建
的
接进一
,
通过
将应用 式发布
到生产环境中。在进行系统服务更新时,对微服务节
点下属的微服务实例进行更新,以这种细微的更新方
获取生成的应用程序实例。(
3)
容器云平台的
开发
将
到的应用,
由
发
容器
成
应用式来满足系统应用开发高频率交付和边开发边测试的
要求"容器化的封装,从而形成一个新的容器镜像,新的
容器镜像被返回到容器云平台测试开发环境中"7
技术方案Tech
no
logy
Scheme数据通信2019.3(4)容器云平台将新生成的容器镜像部署到容器
参考文献&
1
]齐磊,张海峰,张天骁,祝好,陈旭.基于容器技术的P#S云
平台方案[J].电信科学,2017(04):
177-182池中,用户可以根据容器池中的镜像实例来进行业务
功能测试,测试完后为相应的容器镜像建立版本标签,
然后将其发布到容器云平台部署运行环境中,成为微
服务系统的原子微服务。&
2
'张晶,黄小锋.一种基于微服务的应用框架[J].计算机系
统应用,2016,25(9)
:265
-
2704结束语本文采用目前广泛应用的C#S容器云设计,建立
一个以Docker容器为基础的云服务集群平台,结合微
&
3
'武志学.云计算虚拟化技术的发展与趋势[J].计算机应
用,2017(04) :915
-923&
4
'唐瑞.基于Kubernetes的容器云平台资源调度策略研究
[D].成都:电子科技大学,2017服务架构实际需求,将容器伸缩、服务高可用等要求作
为设计重点,轻量级的Docker容器技术提高了计算机
&
5
'周莹,欧中红,李俊基于Jenkins的持续集成自动部署研究[J].计算机与数字工程,2016(02):
267
-
270用,减少微服务系统运行部署的
$作者简介:章仕锋(1994
-):男,浙江'(人,宁波大学信息科
学与工程学院硕士研究生,主研领域:微服务、服务计算;潘善
Kubernetes技术解决了
Docker容器集群管理问题,在此
基础上设计开发容器云平台以Web页面的方式减少
指令化操作,
可化的方式来提高运
理效率。亮,教授,博士,主研领域:服务计算、信息检索和推荐系统。■简讯集团积极参加第二届数字中国建设峰会5 6
8
,
中建设
、工业
际
中
行。此$
、
发
化部、建
为
化发
发布平台、子务
建设的合作平台$济发展成果示平台、中国建设论验实践交流平台、汇聚全球力量助推
中本
围绕“5
化培育新动能,用新动能推动新发展,以新发展创造新辉煌”主,来自各
区市
新疆生产建设兵团有关部门负责、行业组织负责、产业界代表、专
者以及智库代表等约1500出席
$其中,中
集团总
鲁
庆应邀参加
幕式,并出席卫星分论坛活动,集团副总 余少华
据、络科分论坛上作主
发言。集团下属多
企业,包括
高鸿、辰芯
技、虹
、烽火集成、楚
云等,纷纷
成果上
示各
济领域的最新应用
取得的成,包括
子政务、
等领域。据、智慧社、工业
进行了
技、生态、健康、卫星应用、物
期间,鲁庆总经理还分
期间,鲁国庆总经理还访福建
交流。市
市、市
区
建铁塔、建
$,并分
建移主要负责进行了亲切来源于:中国信科8
版权声明:本文标题:基于CaaS的微服务运维平台设计 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1707138100a510495.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论