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(In­frastructure

-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


本文标签: 容器 服务 平台 镜像 集群