论文部分内容阅读
随着微服务、大数据、人工智能、机器学习和移动互联网的蓬勃发展,应用程序的业务逻辑愈发复杂,规模愈发庞大,更新迭代愈发频繁,用户对应用程序的QoS和SLA有了更高的要求:更高效、更灵活和更可靠。基于虚拟机编排的传统云计算已经不能满足日益增长的用户需求,而基于容器编排的新型云计算已经成为被大家广泛认可的服务器资源共享和隔离的新技术,也是软件开发、部署、交付和运维的新方法。容器技术的翘楚Docker也已经成为了容器格式和运行时的标准,大量的开源应用程序和企业级应用程序都宣布支持容器化。容器技术的广泛应用使云计算得到了前所未有的快速发展。面对成千上万的容器化应用,企业的IT系统需要时刻应对来自不同应用、不同环境的挑战,特别是在自动化运维程度不高的企业,“人肉运维”是解决问题的常用手段,它使软件交付的周期变的漫长,人为事故风险升高。为了企业更好的专注于应用本身业务逻辑的开发和优化,提升IT系统对业务需求变化的快速响应能力。Google的开源容器编排引擎Kubernetes由此应运而生,它让企业像使用一台计算机一样使用整个集群的云计算资源,提高了IT资源的使用效率,解决了应用的自动化部署、弹性伸缩、生命周期管理等诸多问题。本论文以Kubernetes容器编排引擎为核心,Docker为容器运行引擎,采用微服务的架构,以应用为中心的思想,设计和实现了一种新型的基于容器技术的企业级私有容器云平台。该容器云平台自身通过容器安装,其功能组件也以容器的方式提供服务,对集群主机低污染,低侵入。容器云平台通过集成外部Keystone用户管理系统实现了基于多租户的集群资源隔离,网络隔离和基于角色的资源访问控制,并能通过扩展而支持Windows AD和Linux LDAP身份认证系统的多种使用场景。容器云平台内部自建DNS和Nginx反向代理实现服务发现和服务暴露,使容器云平台上运行的应用服务既可独立运行,又能协同工作,还能给平台之外的用户或应用提供服务。容器云平台采用Docker registry实现了容器镜像的存储和分发,通过权限控制实现了用户对镜像资源的受限访问,通过镜像漏洞检查和安全扫描,帮助用户及早发现容器镜像中的安全漏洞,及时采取防范措施。容器云平台通过双负载均衡实现了集群功能服务和用户应用服务的流量分离,VIP漂移设计实现了集群节点的高可用,任何节点故障或失效都不会影响集群的功能服务也不影响用户的应用服务。本论文设计和实现的容器云平台为应用程序的开发者和IT系统的维护者提供了用于构建,发布和运行分布式应用的一站式平台,提升了IT系统对业务需求变化的快速响应能力,为应用程序提供了一致的运行环境、统一的编排、统一的调度、资源隔离、服务发现、服务暴露、服务自愈、健康检查、扩容缩容、负载均衡和高可用等基础设施服务。本论文的末尾对容器云平台进行了功能测试和性能测试,测试结果表明该容器云平台可提供有效和稳定的容器化应用管理服务。