基于Docker的私有云主机系统研究与实现
发布时间:2019-03-12 09:20
【摘要】:随着云计算的发展,云主机的应用领域越来越广,大部分云计算提供商都提供了公有云下的云主机租用服务,该服务也受到了各行各业的用户的青睐,用户按需租用,并可以根据业务需求灵活调配资源,帮助用户快速构建项目,安全部署应用,降低开发运维的难度和整体IT成本。多数云主机提供的是面向公众的标准化服务,而不能在某些特定情景下最大地发挥它的优势,另外,大部分云主机以Xen和KVM这种“重型”的虚拟化技术为主,Docker容器技术的出现,逐渐模糊了PaaS和IaaS之间严格的界限,其轻量级虚拟化的特性逐渐把传统的应用开发和运维机制变成了一种全新的方式。本论文主要研究和实现了一套基于Docker的私有云主机系统,该系统主要面向项目研发团队。本文分析了该云主机系统的需求,按照需求对该系统进行了模块划分,并详细地设计了基于Docker的云主机系统的架构,在此基础之上,首先分析了Docker Swarm内置的调度策略,并对其不足进行总结,针对不足之处分别给出解决方案,综合这些解决方案,提出了多维度的动态权重的调度策略,既考虑了节点上各种类型的资源使用情况,又考虑了待调度容器偏重的资源类型,以此来均衡集群中各节点的资源使用情况,提高系统的稳定性。其次,根据Docker镜像和容器分层的存储方式,提出了基于私有仓库的迁移方案来缩短迁移总时间,降低传输数据量,提高迁移效率。然后,为了契合Docker容器的微服务思维,每个容器尽可能地只运行一个服务进程,提出了堡垒机架构的多级认证的解决方案,该方案既满足了多客户端登录的需求,又避免了在容器中安装多余的ssh服务,同时降低了远程登录管理的复杂度。最后利用Docker容器和镜像的优势,提出一种易扩展的持续集成的模式,根据实际项目的需求,可横向扩展代码管理容器,处理项目中依赖关系并实现自动化部署,提高了持续集成的灵活性,可以帮助项目团队人员快速部署项目,提升工作效率。另外,本文对实现的负载调度、容器迁移、远程登录和持续集成四个模块进行功能测试和性能测试,证明了本文提出的解决方案不仅降低了项目人员的繁琐的工作量,提高了工作效率,而且均衡了集群中各节点资源的使用情况,提高了系统的高效性和稳定性。
[Abstract]:With the development of cloud computing, cloud host applications become more and more widespread, most cloud computing providers provide cloud host rental services under the public cloud, this service is also favored by users in various industries, users rent on demand. And can flexibly allocate resources according to the business needs, help users to quickly build projects, secure deployment of applications, reduce the difficulty of development and maintenance and overall IT costs. Most cloud hosts offer standardized services to the public that do not maximize their benefits in certain contexts, and most cloud hosts are dominated by "heavy" virtualization technologies such as Xen and KVM. With the emergence of Docker container technology, the strict boundary between PaaS and IaaS is gradually blurred, and its lightweight virtualization has gradually turned the traditional application development and operation and maintenance mechanism into a new way. This paper mainly studies and implements a set of private cloud host system based on Docker, which is mainly oriented to the project research and development team. In this paper, the requirements of the cloud host system are analyzed, the modules of the system are divided according to the requirement, and the architecture of the cloud host system based on Docker is designed in detail. On this basis, firstly, the scheduling strategy of Docker Swarm is analyzed. And summarize its shortcomings, give solutions to the shortcomings, synthesize these solutions, put forward a multi-dimensional dynamic weight scheduling strategy, not only consider the use of various types of resources on the node, but also put forward a multi-dimensional dynamic weight scheduling strategy, both considering the use of various types of resources on the node, In order to balance the resource usage of each node in the cluster and to improve the stability of the system, the resource types of the container to be scheduled are considered to balance the resource usage of each node in the cluster. Secondly, according to the storage mode of Docker mirror and container tiering, this paper proposes a migration scheme based on private warehouse to shorten the total migration time, reduce the amount of data transferred, and improve the migration efficiency. Then, in order to fit the micro-service thinking of Docker container, each container runs only one service process as far as possible, and puts forward a multi-level authentication solution of barrier machine architecture, which not only meets the requirement of multi-client login. It also avoids installing redundant ssh services in the container and reduces the complexity of remote login management. Finally, taking advantage of the advantages of Docker container and mirror, this paper puts forward an easy-to-expand mode of continuous integration. According to the requirements of the actual project, it can scale-out the code management container, deal with the dependencies in the project and realize automatic deployment. Increased flexibility in continuous integration can help project teams quickly deploy projects and improve productivity. In addition, the paper tests the function and performance of the four modules of load scheduling, container migration, remote login and continuous integration, which proves that the solution proposed in this paper not only reduces the tedious workload of the project personnel, but also proves that the solution proposed in this paper can not only reduce the tedious workload of the project personnel. It improves the efficiency of the system, balances the use of the node resources in the cluster, and improves the efficiency and stability of the system.
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2017
【分类号】:TP393.09
本文编号:2438652
[Abstract]:With the development of cloud computing, cloud host applications become more and more widespread, most cloud computing providers provide cloud host rental services under the public cloud, this service is also favored by users in various industries, users rent on demand. And can flexibly allocate resources according to the business needs, help users to quickly build projects, secure deployment of applications, reduce the difficulty of development and maintenance and overall IT costs. Most cloud hosts offer standardized services to the public that do not maximize their benefits in certain contexts, and most cloud hosts are dominated by "heavy" virtualization technologies such as Xen and KVM. With the emergence of Docker container technology, the strict boundary between PaaS and IaaS is gradually blurred, and its lightweight virtualization has gradually turned the traditional application development and operation and maintenance mechanism into a new way. This paper mainly studies and implements a set of private cloud host system based on Docker, which is mainly oriented to the project research and development team. In this paper, the requirements of the cloud host system are analyzed, the modules of the system are divided according to the requirement, and the architecture of the cloud host system based on Docker is designed in detail. On this basis, firstly, the scheduling strategy of Docker Swarm is analyzed. And summarize its shortcomings, give solutions to the shortcomings, synthesize these solutions, put forward a multi-dimensional dynamic weight scheduling strategy, not only consider the use of various types of resources on the node, but also put forward a multi-dimensional dynamic weight scheduling strategy, both considering the use of various types of resources on the node, In order to balance the resource usage of each node in the cluster and to improve the stability of the system, the resource types of the container to be scheduled are considered to balance the resource usage of each node in the cluster. Secondly, according to the storage mode of Docker mirror and container tiering, this paper proposes a migration scheme based on private warehouse to shorten the total migration time, reduce the amount of data transferred, and improve the migration efficiency. Then, in order to fit the micro-service thinking of Docker container, each container runs only one service process as far as possible, and puts forward a multi-level authentication solution of barrier machine architecture, which not only meets the requirement of multi-client login. It also avoids installing redundant ssh services in the container and reduces the complexity of remote login management. Finally, taking advantage of the advantages of Docker container and mirror, this paper puts forward an easy-to-expand mode of continuous integration. According to the requirements of the actual project, it can scale-out the code management container, deal with the dependencies in the project and realize automatic deployment. Increased flexibility in continuous integration can help project teams quickly deploy projects and improve productivity. In addition, the paper tests the function and performance of the four modules of load scheduling, container migration, remote login and continuous integration, which proves that the solution proposed in this paper not only reduces the tedious workload of the project personnel, but also proves that the solution proposed in this paper can not only reduce the tedious workload of the project personnel. It improves the efficiency of the system, balances the use of the node resources in the cluster, and improves the efficiency and stability of the system.
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2017
【分类号】:TP393.09
【参考文献】
中国期刊全文数据库 前10条
1 杨寅冬;;基于Swarm Docker虚拟化技术的集群环境分析[J];智富时代;2016年10期
2 毛祺;卢胜林;;基于Docker Swarm集群的容器迁移策略的实现[J];信息技术;2016年09期
3 卢胜林;倪明;张翰博;;基于Docker Swarm集群的调度策略优化[J];信息技术;2016年07期
4 汪恺;张功萱;周秀敏;;基于容器虚拟化技术研究[J];计算机技术与发展;2015年08期
5 于烨;李斌;刘思尧;;Docker技术的移植性分析研究[J];软件;2015年07期
6 陈健锋;李永宁;张勇;;浅析运维堡垒机的设计和应用前景[J];有线电视技术;2015年05期
7 刘思尧;李强;李斌;;基于Docker技术的容器隔离性研究[J];软件;2015年04期
8 陈清金;陈存香;张岩;;Docker技术实现分析[J];信息通信技术;2015年02期
9 ;Docker发布新的跨容器的分布式应用编排服务[J];电脑与电信;2014年11期
10 银大伟;;利用Docker开启持续交付之路[J];程序员;2014年09期
中国硕士学位论文全文数据库 前1条
1 吕超;基于阿里云平台的中小企业MIS的应用研究[D];山东大学;2015年
,本文编号:2438652
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/2438652.html