什么是Zun? OpenStack容器管理,了解一下

栏目: 编程工具 · 发布时间: 6年前

内容简介:OpenStack是业界主流的开源云管理平台,旨在提供实施简单、可大规模扩展、丰富、标准统一的云平台。全球数百家大品牌企业依靠OpenStack每天运营业务,从而降低成本,并更快地行动。Zun即OpenStack中提供容器管理服务的组件,于2016年6月建立。作为提供容器管理服务的组件,Zun允许用户无需管理服务器或集群即可快速启动和运行管理容器,通过与Neutron、Cinder、Keystone以及其它核心OpenStack服务相集成以实现容器的快速普及。通过这种方式,OpenStack的原有网络、存

OpenStack是业界主流的开源云管理平台,旨在提供实施简单、可大规模扩展、丰富、标准统一的云平台。全球数百家大品牌企业依靠OpenStack每天运营业务,从而降低成本,并更快地行动。Zun即OpenStack中提供容器管理服务的组件,于2016年6月建立。

什么是Zun

作为提供容器管理服务的组件,Zun允许用户无需管理服务器或集群即可快速启动和运行管理容器,通过与Neutron、Cinder、Keystone以及其它核心OpenStack服务相集成以实现容器的快速普及。通过这种方式,OpenStack的原有网络、存储以及身份验证 工具 将全部适用于容器体系,从而确保容器能够满足安全与合规性要求。

Zun计划支持多种容器技术,如 Docker 、Rkt、clear container等,目前已经完成对Docker容器技术的支持。

为什么选择Zun

目前,在OpenStack中,支持容器技术主要有如下几个主流方案:Nova Docker driver、Magnum等。

  • Nova Docker driver方案

该方案将容器当成虚拟机一样进行操作,通过增加 Nova Docker driver,实现对Docker容器实施启停、创建等类似常规虚拟机的操作。该方案的缺点在于,由于Docker和虚拟机终究是存在一部分差异的,通过类虚拟机方式来操作容器,会导致容器的许多功能无法实现,例如容器关联、端口映射等功能。

  • Magnum方案

Magnum是OpenStack中提供容器集群部署功能的服务,Magnum通过Heat来部署虚拟机和物理机,从而组成集群,然后调用COE接口完成容器的部署。在Magnum项目创建之初,项目目标以CaaS为宗旨,即“容器即服务”;在后续的发展中,Magnum功能大多集中在容器的集群部署上。

  • Zun方案

Zun将容器作为一种OpenStack资源来进行管理,并通过集成OpenStack的其他服务,为用户呈现统一的、简化的API接口,用户可以通过这些接口来创建、管理容器,而不需要关心不同容器技术之间的差异。

Zun集成了多个OpenStack服务,其中Keystone、Neutron、Kuryr-libnetwork是运行Zun所必须的服务,它们分别为Zun提供认证、网络、neutron网络与docker网络之间的连接。对于OpenStack用户而言,他们会发现学习使用Zun容器是一件相当容易的事。

集成OpenStack服务的优点在于,可以借助于OpenStack已存在的功能来扩展容器功能,例如,默认情况下,Zun容器可以使用Neutron分配的IP地址,可以使用由Keystone提供的认证服务。将Zun与Neutron一起使用,可以在Nova实例所在的隔离网络环境中创建容器。VM的Neutron功能(即安全组,QoS)也可用于Zun容器。在实际业务中,经常存在需要长久保存数据的场景。通常常用的方法是利用外部服务为容器提供持久卷。Zun通过与OpenStack Cinder集成解决了这个问题。 创建容器时,用户可以选择将Cinder卷挂载给容器。 Cinder卷可以是租户中的现有卷或新创建的卷。每个卷将被绑定到容器文件系统路径中,并且存储在该路径下的数据将被持久化。

在Orchestration方面,与其他提供内置编排的容器平台不同,Zun使用外部编排系统来实现此目的,例如Heat与Kubernetes。通过使用外部协调工具,最终用户可以使用该工具提供的DSL定义他们的容器化应用程序。

借助Heat,用户还可以定义由容器资源和OpenStack资源组成的资源,例如Neutron负载平衡器、浮动IP、Nova实例等。

而Zun和Kubernetes则是一种互补的关系,事实上,Zun社区正在积极地推进与Kubenetes集成。目前Zun与COE集成的工作主要集中在Kubenetes上。Kubernetes使容器更易于部署、管理和扩展。 但是,在OpenStack上使用Kubernetes仍然需要用户手动底层基础设施,如虚拟服务器集群。 用户需要负责初始容量规划,例如决定VM群集大小以及正在运行的VM群集的维护。Serverless容器技术或解决方案,如亚马逊网络服务(AWS)Fargate、Azure容器实例(ACI)和OpenStack Zun的出现,为在云上运行容器提供了一种可行的替代方案。 Serverless方法允许用户按需运行容器,而无需预先创建或管理自己的集群。Zun将利用Kubernetes作为编排层,Kubernetes使用OpenStack Zun来提供“Serverless”容器。

Zun中引入了Container与Capsule两个概念,Container负责集成对接Docker或其他容器引擎技术,Capsule的概念有点像Kubernetes Pod,代表一组容器。 Capsule用于将多个需要彼此紧密合作的容器进行分组,以实现业务目标。

Zun不准备实现COE提供的很多先进的功能(例如容器保活、负载均衡等),而是专注于提供基本的容器操作(CRUD),并保持和OpenStack的紧密集成。

与Nova Docker driver方案的比较:

Zun目标在于解决 Nova Docker driver方案存在的问题,独立于 Nova 之外实现 Docker 部署调度框架,自身实现与 Glance、Neutron、Cinder等组件的集成,但并不实现对容器编排引擎(Container Orchestration Engines COE)的部署调度。Nova-docker通过Nova API访问容器,而Zun不受Nova API的限制。

与Magnum方案的比较:

Zun和Magnum的差异在于Zun专注于提供管理容器的API,而Magnum则主要是提供部署和管理容器编排引擎(COE)的API。

Zun的基础架构

下面的Zun架构图,可以更好地理解Zun与OpenStack各组件之间的关系。

什么是Zun? OpenStack容器管理,了解一下

图1:Zun架构图

综上,Zun提供了一种OpenStack + 容器的解决方案,不仅将多个OpenStack服务与容器技术有效地结合到一起,提高了OpenStack管理容器的能力,而且简化了容器的使用,扩展了容器的功能。同时,Zun社区的各项功能正在开发、补全当中,值得期待。

中兴通讯作为OpenStack基金会黄金会员和主要代码贡献者之一,致力于推动OpenStack的演进和发展。针对Zun社区,中兴通讯bp完成数居第一位,修复bug数居第一位,提交代码次数居第一位,代码审阅数居第二位。同时,中兴通讯在Rocky与Stein版本单项项目负责人(PTL),为Zun项目的发展,做出了卓越的贡献。未来,中兴通讯将不断加大对开源社区的投入,并积极寻求落地商用的机会。 什么是Zun? OpenStack容器管理,了解一下


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Compilers

Compilers

Alfred V. Aho、Monica S. Lam、Ravi Sethi、Jeffrey D. Ullman / Addison Wesley / 2006-9-10 / USD 186.80

This book provides the foundation for understanding the theory and pracitce of compilers. Revised and updated, it reflects the current state of compilation. Every chapter has been completely revised ......一起来看看 《Compilers》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试