论文部分内容阅读
随着云计算的发展,云主机的应用领域越来越广,大部分云计算提供商都提供了公有云下的云主机租用服务,该服务也受到了各行各业的用户的青睐,用户按需租用,并可以根据业务需求灵活调配资源,帮助用户快速构建项目,安全部署应用,降低开发运维的难度和整体IT成本。多数云主机提供的是面向公众的标准化服务,而不能在某些特定情景下最大地发挥它的优势,另外,大部分云主机以Xen和KVM这种“重型”的虚拟化技术为主,Docker容器技术的出现,逐渐模糊了PaaS和IaaS之间严格的界限,其轻量级虚拟化的特性逐渐把传统的应用开发和运维机制变成了一种全新的方式。本论文主要研究和实现了一套基于Docker的私有云主机系统,该系统主要面向项目研发团队。本文分析了该云主机系统的需求,按照需求对该系统进行了模块划分,并详细地设计了基于Docker的云主机系统的架构,在此基础之上,首先分析了Docker Swarm内置的调度策略,并对其不足进行总结,针对不足之处分别给出解决方案,综合这些解决方案,提出了多维度的动态权重的调度策略,既考虑了节点上各种类型的资源使用情况,又考虑了待调度容器偏重的资源类型,以此来均衡集群中各节点的资源使用情况,提高系统的稳定性。其次,根据Docker镜像和容器分层的存储方式,提出了基于私有仓库的迁移方案来缩短迁移总时间,降低传输数据量,提高迁移效率。然后,为了契合Docker容器的微服务思维,每个容器尽可能地只运行一个服务进程,提出了堡垒机架构的多级认证的解决方案,该方案既满足了多客户端登录的需求,又避免了在容器中安装多余的ssh服务,同时降低了远程登录管理的复杂度。最后利用Docker容器和镜像的优势,提出一种易扩展的持续集成的模式,根据实际项目的需求,可横向扩展代码管理容器,处理项目中依赖关系并实现自动化部署,提高了持续集成的灵活性,可以帮助项目团队人员快速部署项目,提升工作效率。另外,本文对实现的负载调度、容器迁移、远程登录和持续集成四个模块进行功能测试和性能测试,证明了本文提出的解决方案不仅降低了项目人员的繁琐的工作量,提高了工作效率,而且均衡了集群中各节点资源的使用情况,提高了系统的高效性和稳定性。