基于Docker下DevOps系统的设计与实现.docx

基于Docker下DevOps系统的设计与实现.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

?

?

基于Docker下DevOps系统的设计与实现

?

?

刘安

摘要:随着IT行业的迅猛发展,相关软件企业对于DevOps系统应用也在不断加深,但是传统的DevOps系统仍然存在一定的缺陷和不足。基于此,该文通过Docker的应用对DevOps系统构建的影响的分析,针对基于Docker下DevOps系统的设计与应用的设计、运作、应用三个方面进行深入的研究。

关键词:Docker;DevOps系统;etcd数据库集群

:TP393:A:1009-3044(2018)07-0069-01

研发团队和运维团队是IT部门的两大核心团队,两个团队的目标却存在一定的冲突:研发人员希望对常规软件迅速进行大面积推广,运维人员则更多的考虑产品的稳定性。为了维持两个团队的平衡,就需要采用现代化的手段来维持团队在目标确定中存在的分歧,因此需要通过DevOps系统进行干预。

1Docker的应用对DevOps系统构建的影响

Docker是个开源平台,主要由DockerHub注册服务器、容器引擎等几方面构成。从功能上来看,DockerHub注册服务器能完成用户的相关数据操作,例如构镜像库数据库、数据的分享等;Docker的容器引擎能满足深层次的数据管理要求,例如可以让技术人员将应用打包到一个移植的容器内部,并通过Linux设备完成发布。利用Docker,能够实现各种软件的随处运行以及一次配置。

DevOps系统是一系列过程、系统和方法的统称,该系统的应用有利于促进软件工程的开发、加强质量保证部门和技术运营之间的沟通和整合。DevOps系统的核心理念是研发、运行、维护、质保各个团队之间的高效协作。

与传统的DevOps系统相比,应用Docker构建DevOps系统的优势主要有以下几点:

1)對研发、生产等环节完成标准化管理。在数据处理中,景象经常被看做是标准交付件,所以其各个编辑过程都能在容器内实现运行。

2)有效解决基础环境的架构异常问题。从Dev到Ops的过程中,产生阻力的主要原因是基础环境的多元化,DockerEngine的使用可以忽略基础环境的类型条件。不同的虚拟化类型、物理设备或者云计算平台,在DockerEngine的运行环境下最终都会提供以容器作为基础的服务。

3)方便构建、转移以及部署。能够完成标准化的镜像构建,在这个过程中,依靠分层机制来保证镜像构建效率。在操作中,应用容器仓库能够把成型的镜像转移到任何环境中,同时只需要把静态只读转变成动态可运行容器即可[1]。

2基于Docker下DevOps系统的设计与应用

2.1设计

DevOps系统主要由etcd数据库集群、Kubernetes集群、GitLab、Web管理页面、统一集成编译、网络与域名系统(DNS)等九大模块组成。其中etcd数据库集群可以提供高可用配置的中心能力;Kubernetes集群负责Docker的集群管理和调度;GitLab可以对源码进行配置与管理;统一集成编译镜像可以对集成的环境进行统一配置,完成统一编译。

Docker下DevOps系统具体的设计思路为:

1)数据库集群。数据库集群设计必须要保证etcd数据库应用分布方式的完整性,一般采用分布式key-value存储的方法,这是因为这个方法能够为整个系统提供一个安全的储存服务,包括各种形式的插件配置储存等。

2)网络管理。网络部分的管理主要集中在服务容器、容器网路等多个方面,在网络管理实现过程中,主要利用Flannel插件在运行的每台主机上建立一个虚拟网卡,并运行Flannel插件服务,用以传输控制协议数据包,可以有效解决一些跨主机容器的网络通信问题,精简网络管理配置,实现容器间的连接;在DNS解析部分,应用Kube2sky插件对Kubernetes中的服务、端点及其相应的子节点变化进行控制,在必要情况下,将IP地址及其相应的DNS关系录入到数据库中,这样相关统模块就能对数据库中的相关数据做进一步的编辑处理。

3)镜像。Jenkins镜像应用于Jenkins服务的构建,对源代码进行构建编译;GitLab镜像应用于GitLab服务,对源代码进行管理;统一集成编译镜像是项目镜像的容器,其中具有镜像构建所需要的各种依赖,保证镜像构建过程中环境的同意,提升构建速度,摆脱额外依赖[2]。

2.2运作

编程思想在DevOps系统中的应用较为常见,该系统以Docker等技术为媒介,并依靠相应的技术流程得以实现,其具体的实现步骤为:

1)开发者把代码提交给源代码管理GitLab;2)GitLab借助Webhook通知Jenkins进行更新;3)Jenkins在GitLab下载必威体育精装版的代码以及其他文件;4)Jenkins在云镜像服务的节点构建Docker镜像;5)Jenkins在云镜像服务的节点实例化Do

文档评论(0)

180****0576 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档