OpenStack Magnum仍然是开源云平台上容器部署的一个关键服务。但是诸如Kolla和Kuryr这样的新服务也在不断发展成熟。
基于容器的虚拟化技术影响了IT的所有方面,甚至还包括了云软件堆栈。因此,OpenStack社区已经开发了一套能够在基于OpenStack的私有云或混合云上打开可以紧密运行容器实例选项的服务模块。
Magnum是一个已经实施两年左右时间的OpenStack容器项目。它被认为是运行容器软件(例如Docker Swarm、Kubernetes和Apache Mesos等)的一种方法,它能够让企业用户在OpenStack上对容器进行编排。Magnum是一个灵活的工具,例如它能够配合Swarm让操作系统镜像在裸机或虚拟机内运行。
OpenStack Magnum在Nova实例中构建容器架构。该服务通常使用轻量级操作系统(例如Core OS或Fedora Atomic)来支持Docker。实例中也包括了合适的编排器——Swarm、Kubernetes或Mesos。OpenStack Magnum在Heat中创建了一个控制结构来识别实例和容器。这种方法允许管理员通过OpenStack项目的核心组合使用Heat模板,以及必要的存储资源、应用程序镜像和网络连接。Magnum还支持Neutron负载平衡器。
OpenStack容器的近期发展
OpenStack的最新版本Ocata推出了新功能来帮助用户部署和管理容器。这些新功能包括:
Kolla:一个容器化的OpenStack服务,它可支持三个主要的容器编排器——Docker Swarm、Kubernetes和Apache Mesos在OpenStack中运行,并与其他模块进行交互。
Kuryr:连接容器与Neutron,以便将虚拟网络连接至其他容器、虚拟机实例以及外部世界。目前,它支持Docker Swarm。
Fuxi:是Kuryr的一个子项目,Fuxi允许容器访问Cinder块存储和Manila共享存储。
Zun:是一个OpenStack容器管理服务。OpenStack Wiki将Zun定义为Magnum的原始意图,后者已经发展成为托管上述提及的三大容器编排引擎。
Kuryr和Fuxi提供了可将众多容器从有限环境迁移至全应用程序环境的网络与存储连接。综上所述,前面列出的三个模块可允许一组容器实现相互交互并共享与存储数据。
现在Kolla支持支持三大容器编排引擎,Zun是OpenStack专有创建容器和管理其生命周期的方法。因为容器与其相关操作系统和应用程序镜像的可移植性对于平滑和高效操作是至关重要的,所以它可能不适用于混合云。
Kolla中标准编排环境的使用应当有助于提高公共云容器服务的可移植性。Murano模块中的模板、镜像和容器支持都可跨混合云发挥作用。但是,跨云处理支持所需的API仍然存在有问题。
有了这些新功能,Magnum成为了OpenStack容器部署的更简便方法,而不需要使用Puppet或Ansible从头开发。尽管如此,OpenStack Magnum和DIY方法更多的是一种DevOps级任务,而不是一个最终用户的策略驱动过程。
OpenStack容器服务的下一步
OpenStack使用的领导者之一是CERN(欧洲核研究组织)。该组织基于OpenStack Magnum建立了一个1,000节点的集群,并于近期达到了每秒七百万次Kubernetes请求的记录。CERN的项目反映了OpenStack中Kubernetes的增长过程,而Kubernetes则继续调整其运行性能。
但是,尽管如此,OpenStack容器服务仍然有一些工作要做。Project Navigator是所有官方OpenStack项目的一个指南,它提供了对项目成熟度和利用率的一个客观衡量。
目前根据Project Navigator的说法,OpenStack Magnum在成熟度方面在八个竞争者中排名第二,并用于11%的OpenStack安装。显而易见,OpenStack Magnum并未涵盖所有的基础应用方面;例如在与认证的集成上还是偏弱的。
其他关键集成工作还处于起步阶段。例如这些管理环境需要与Ansible和Puppet进行进一步的集成以便扩展至OpenStack容器世界。此外,如果工作负载开始从*IT管理员转移到部门用户,容器编排的简化控制机制也是至关重要的。扩展至模板系统和基于策略的管理都是这项任务的一部分。
容器技术正处于全面发展阶段,OpenStack必须迎头赶上。但是,Magnum及其相关OpenStack容器项目的成熟度与稳定性将在2017年继续有所提高。
本文转自d1net(转载)