论文部分内容阅读
Docker容器技术凭借自身轻量化、高度集成化以及标准化,业已成为了软件应用开发部署运维的变革者。公司从2015年初开始推广使用容器技术,并得到众多项目组的支持,在一定程度提升了项目开发效率。公司的众多项目都在走微服务理念,依据docker进行拆分,而公司docker管理一直是各个开发team各自为政,主要原因是现阶段公司资源是基于团队或业务进行分配的,即团队拥有资源,团队间业务是相互隔离的。结果是给公司管理带来众多不便,所以公司迫切需要一个统一的docker管理工具。基于上述背景并结合公司现状提出构建统一的docker管理工具。通过对比已有的项目:swarm、kubernetes、mesos都不能很好的满足公司现状。最终选择自研一个简单易用统一的轻量级docker管理工具,来满足公司不同团队的需求。本文主要工作内容包括三方面:首先,进行了需求分析。调查分析公司不同团队使用docker的现状,经过调查发现现阶段公司容器运行关系90%是单服务形式,10%的容器需要相互依赖化和集群化。并依据公司现状项目团拥有不同的host主机,在不改变现状情况下提出基于项目组分组概念,提出基于分组的docker管理系统。其次,系统设计与实现。对基于分组的docker管理系统进行设计,系统是基于经典B/S模式构建的,并依据master-agent架构设计及实现。提出系统六个方面的管理功能设计与实现,分别是:用户管理、组管理、镜像仓库管理、镜像管理、容器管理、日志与监控管理。最后,进行了测试与总结。通过预先设计好的测试案例,对系统进行测试,首先是功能测试,逐一测试六管理功能,在非功能方面,测试系统高可用性和可靠性。