论文部分内容阅读
云计算技术已发展多年,各大技术厂商都推出了自家的云计算产品,但是基于虚拟机技术的传统云计算服务已经不能够满足当前发展迅速的互联网应用需求。现代互联网应用业务场景日趋复杂,并且要求应用能够快速上线部署,根据流量负载快速扩容。尽管现有的虚拟机方案能够带来更好的安全性和隔离性,但是其繁重的运行环境给开发人员带来了较多的工作量,存在着资源利用率低、应用部署缓慢、应用部署环境复杂等问题。为了解决上述问题,本文以作者在某云计算公司所参与开发的私有云平台项目为基础,利用Kubernetes和Docker相关技术,设计并实现了一个轻量级、分布式、可视化的云容器管理系统。首先,按照软件工程的过程与方法组织,本文对系统总体进行了需求分析,指出了传统云计算虚拟化缺乏灵活性和轻量化的缺点,分析了当前用户在新的软件开发模式下的轻量级虚拟化痛点需求,详细描述了系统的各种功能性需求和非功能性需求。其次,本文采用Kubernetes和Docker技术并以微服架构为设计理念对系统进行了总体架构设计,把系统划分为前端业务层和容器集群层两大部分,并对其中的功能模块相关设计做了详细介绍。接着详述了系统的重要功能的实现,论文利用开源的Harbor技术实现了一个提供完整镜像管理功能的企业级镜像仓库;结合HTML5相关技术,实现了一个可视化的拖拽式在线镜像编排功能。最后,本文就flannel网络在用户网络隔离方面的不足之处做了相应分析,并提出了新的解决思路,使用Calico网络插件来替代flannel。最后通过实验对比证明,新的网络插件能够满足云平台对网络隔离的要求。本文研究的云容器管理系统解决了目前传统虚拟机技术方案所存在的若干问题。利用容器技术,将应用系统连同其相应的运行环境和配置打包成Docker镜像,以容器化方式部署,避免了因配置应用环境导致的各种成本浪费,加快了项目开发,极大地提高了开发和测试人员的工作效率。用户可利用此系统在云平台上快速部署应用,实现应用的灰度升级和弹性伸缩,完成应用全生命周期管理。目前本项目所开发的云容器管理系统已经正式投入商用,与公司的其他云计算产品共同组成了功能全面的云计算操作系统。