什么是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容器管理,了解一下


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

查看所有标签

猜你喜欢:

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

极致产品

极致产品

周鸿祎 / 中信出版社 / 2018-6 / 58.00

周鸿祎作为*知名的产品经理之一,一手打造了众多国民级的产品。他关于打造爆款的理念,比如刚需、高频、“小白”思维等,已成为网络热词而被广泛接受。 本书是周鸿祎首次系统总结其20年产品经理的心得,不仅将以往的理念进行总结、归纳,而且在与包括各方面创业者、产品经理的碰撞后,将其观念进一步升华,成为迄今为止首部将其产品理念倾囊相授的作品。一起来看看 《极致产品》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具