OpenStack Queens 平台于2月28日正式发布,这是该开源云平台的第17版。OpenStack Queens 增加了多项新功能,也优化增强了多项旧功能,包括虚拟 GPU( vGPU )支持和容器集成的改进。几个新项目也在 OpenStack Queens 这一里程碑中露面,包括提供管理硬件和软件加速资源框架的Cyborg 。本文正文中围绕新功能、vGPU、Cyborg、容器、LOCI,以及接下来的版本 OpenStack Rocky 等几个方面对Queens 进行了整体介绍。此外在文末,开源云中文社区还特别邀请了 OpenStack 基金会独立董事郭长波为各位粉丝做精彩点评。
正文
2018年,OpenStack 已被包括沃尔玛在内的大型组织广泛使用,并成为了多个云供应商的底层基础设施,其中包括 IBM 和 Oracle 的云平台。
OpenStack Queens 的发布延续了2017年8月推出的 Pike 版本,增加了更多的新功能。“ Pike的特色是以运维为导向的工作比例更高。” OpenStack 基金会执行总监Jonathan Bryce 此前表示。
OpenStack Queens 发布了多项新功能,一些旧功能也获得了增强,包括虚拟 GPU ( vGPU ) 支持和容器集成的改进。几个新项目也在OpenStack Queens 这一里程碑中露面,包括提供管理硬件和软件加速资源框架的 Cyborg 。
OpenStack Queens 的改进不仅有利于具有关键任务工作负载的企业,而且还有利于投资于容器、NFV、边缘计算和机器学习等新兴用例的机构。
“我们现在看到的市场,最重要的事情是人们希望用云部署做更多的事情。” OpenStack 基金会首席运营官 Mark Collier 表示 , “机器学习、人工智能和容器等新工作负载大量涌现,Queens 版本中有很多为这些用例提供的功能特性 。”
新功能一览
Queens 发布了一些强大的面向企业的功能,其中最引人注目的是 Cinder 中的 Multi-Attach 功能。
Cinder Multi-Attach 使运维者能够将相同的Cinder 卷加载到多个 VM 中。如果一个节点关闭,另一个节点能够接管并访问该卷。这种支持关键任务工作负载的高可用性(HA)是云环境中最受欢迎的功能之一,但迄今为止仍然是计算机领域的难题。
Queens 新版本还包括了多项增强功能,以支持新兴的用例,如机器学习、NFV、容器集成和边缘计算。
支持 vGPU( 虚拟图形处理单元 )——在 Nova 中,vGPU 支持让云管理员定义风格以请求 vGPU 的特定资源和分辨率。最终用户可以启动具有 vGPU 的虚拟机,这对于图形密集型工作负载以及许多科学性的、人工智能和机器学习的工作负载来说是一项重要的能力。
Cyborg——Cyborg是用于管理硬件和软件加速资源(如 GPU、FPGA、CryptoCards和DPDK / SPDK)的框架,在Queens发布中首次亮相。加速已经成为一种必要,特别是对于有 NFV 工作负载的电信公司而言。通过 Cyborg ,运维者可以列出、识别和发现加速器,连接和分离加速器实例,安装和卸载驱动。它也可以单独使用或与 Nova 或 Ironic 结合使用。
Ironic Rescue Mode—— 之前在 Nova 中可以实现虚拟机实例修复,现在 Ironic 中可以实现裸机实例修复。运维者现在可以对错误配置的裸机节点进行故障排除,或从诸如 SSH 密钥丢失等问题中恢复——这是 Ironic 的生产使用率在2017年4月至11月之间从9%跃升至20%之后的重要功能增强。
Kuryr CNI Daemon—— OpenStack 是在私有云中部署容器的首选平台,社区继续扩展Queens 的微服务功能。Kuryr 增加了一个 CNI守护进程来增加 Kubernetes 运维的可扩展性。为了支持 HA、CNI 守护进程监视 pod 事件,无需为每个事件等待 Kubernetes API 。即使控制器关闭,也可以创建 pod 。
边缘计算支持 —— 两个新项目 OpenStack-Helm 和 LOCI 支持边缘计算应用。
Zun容器服务—— Zun 是一个新的 OpenStack项目 ,它允许用户无需管理服务器或集群即可快速启动和运行容器。它通过与 Neutron 、Cinder、Keystone 和其他核心 OpenStack 服务集成,无缝地将先进的企业网络、存储和身份验证功能添加到容器中。
OpenStack 基金会首席运营官 Mark Collier 表示:“ 在云初期,用例相当狭隘,但今天云用例的范围已经扩大到大量的工作负载。就像云范围的发展一样,OpenStack 平台也在不断发展。Queens 版本中的 vGPU 和容器增强功能解决了用例范围的两端问题,并展示了OpenStack 具有支持不断变化的开放式基础设施需求的灵活性和能力。“
Queens 发布还包括增强可管理性、弹性和用户体验的工具。
运维者会喜欢的新功能包括:
OpenStack-Helm——该新增内容提供了一系列Helm chart 和工具,用于在 Kubernetes 之上管理 OpenStack 的生命周期,并将 OpenStack 项目作为独立服务运行。
注册和文档策略——在大多数 OpenStack 项目中,基于角色的访问控制( RBAC )策略现在存在于项目代码中( 而不是作为项目源中的单独文件 ),从而提供更好的关于服务策略的通信以及为 RBAC 策略设置更多的粒度默认值。
HOT拖放 —— Horizon 添加了一个插件,可以通过 Horizon 仪表板上用户体验友好的拖放 UI来创建 Heat 编排模板。
LOCI —— 又一个首次亮相的项目。LOCI 生成Open Container Initiative 兼容 OpenStack 服务的镜像,可以放入像 OpenStack-Helm 这样的重量级部署工具,或者单独使用,来交付像Cinder块存储这样的独立服务。
vGPU
在 OpenStack Queens 中搭载的一个新功能是vGPU 支持。vGPU 支持包含在 OpenStack Nova 计算项目中。
“ vGPU 能力建立在 Nova placement 服务的基础上。” Byrce说。
Nova placement 服务是 OpenStack 中的一个动态库存系统,用于跟踪可用于部署的资源。vGPU功能与硬件相关,目前可与 Nvidia Grid vGPU 和 Intel GVT(图形虚拟化技术)配合使用。
“ 一个 GPU 可能拥有数千个内核,很多公司想要的是一组不同的 GPU 服务器,它们可以在不同的工作负载之间划分。到目前为止,这并不是可以简单地以多租户方式进行管理的。”Bryce说。
Cyborg
新的 Cyborg 项目来自电信领域,它提供了各种加速的通用框架(而不是GPU特定的)。 Byrce 解释说,Cyborg 可以利用物理 GPU 、FPGA (现场可编程门阵列)或其他类型的加速器。
OpenStack 已经有了 Ironic Bare Metal 服务,可以让云端运营商直接访问物理硬件资产。Cyborg 是 Ironic 的补充。
“它们都是直接管理硬件的工具。”Bryce说,“ Ironic 以管理整个服务器为中心,而 Cyborg 则从硬件功能的视角来加速。”
容器
OpenStack Helm 项目是 Queens 发布的另一个新动作。 Helm 是一个很受欢迎的开源项目,可以作为 Kubernetes 容器编排系统的包管理器。
OpenStack Helm 加入了其他多项工作,包括旨在为 OpenStack 服务提供某种形式的配置和部署管理功能的 OpenStack-Ansible 。
“ OpenStack Helm 和 OpenStack Ansible 的相似之处在于它们都是帮助管理 OpenStack 服务的工具,但它们采用不同的方法。”Bryce说。
Helm 将 Kubernetes 用于其生命周期管理方法,是一种容器原生方法。 Byrce指出,有些机构更愿意使用 Ansible 提供的配置管理工具。
LOCI
轻量级开放容器计划(LOCI)项目是加入 OpenStack Queens 平台的另一项新工作。OCI是云原生计算基金会(CNCF)规范,为容器运行时创建行业标准。 LOCI提供了现有OpenStack Kola项目的一种替代方案(为每个容器镜像提供一个更完整的打包方法)。
“LOCI 采取的方法更符合 Kubernetes 运行镜像的方式,其中容器本身非常小,管理位于容器外部。”Bryce说。
接下来的Rocky
随着 OpenStack Queens 的推出,下一个版本即 OpenStack Rocky 版本的开发工作开始。尽管处于开发周期的初期阶段,OpenStack Rocky 中可能包含一些事项。
可能包含在 Rocky 中的功能之一就是 Fast Forward Upgrade,它将使运维者能够更轻松地更新到 OpenStack 新版本。目前,从一个OpenStack 版本只能更新到下一个后续版本。例如,OpenStack Pike 可以更新到 Queens ,但无法直接更新到 Rocky 。
“通过快速更新,可以跳过不止一个版本。” Collier 说,“ 更新对于用户来说一直是一个痛点,因为不是每个人都喜欢每六个月就更新云平台。”
董事点评
Queens 版本项目 update 亮点不少
OpenStack 第17 个版本 Queens 近期发布,其中有很多大家期待已久的功能:不断完善硬件加速功能,包括 Nova libvirt driver 支持vGPU instance(实验性质),以及管理加速硬件如 FPGA, GPU 的 Cyborgd 等的快速发展,都将满足日益增长的机器学习、人工智能领域市场;Nova libvirt driver支持multi-attach 功能,将为使用共享 volume 的上层服务提供便利,比如可以简化文件共享服务Manila 的HA机制; Ironic 支持rescue/unrescue API 将方便对 BareMetal 的管理; Cinder 支持更多的类型的硬件存储设备,完善 multi-attach 管理
核心基础组件可组合性扎实推进
Pike 版本发布中,重点提到一些基础组件如Keystone、Neutron、Cinder 等可以被非OpenStack 项目如 Docker/ Kubernetes 单独使用,扩大了 OpenStack 项目的使用范围,没有哪种技术可以解决所有的问题和满足客户的要求,基于开源技术栈的,适合客户需求的组合才具有长久的生命力,在过去的一年里基金会持续投入资源与其它开源社区协作,构建开源技术生态.比如加强Kubernetes openstack provider,与OpenNFV 的集成测试,
唯一不变的是变化,经过近8年的发展,OpenStack 变得越来越成熟,在过去的一年里,OpenStack 采用率年增长率95% ,积极适应新的技术潮流比如云原生应用,从缩短需求反馈路径的组织形式 SIG, 到与其它开源社区密切协作,不断扩大管理项目范围,聚焦客户价值,从 Data Center Infrastructure, 到 Container Infrastructure, CI/CD Infrastructure , Edge Computing Infrastructure。中国作为OpenStack增长最快的市场,基金会会员超过一半是中国企业,我将与各位华人董事一起努力,从PTG/Summit 举办地等具体问题上入手,让中国公司和个体的诉求变成真正的行动.
1. Cinder Multi-Attach
2. 支持 vGPU( 虚拟图形处理单元 ):在 Nova 中,对 vGPU 的支持让云管理员能够定义 flavor 以请求 vGPU 的特定资源和分辨率。最终用户可以启动具有 vGPU 的虚拟机,这对于图像密集型工作负载以及人工智能和机器学习工作负载来说是一项重要的功能。
3. Cyborg:Cyborg是用于管理硬件和软件加速资源(如 GPU,FPGA,CryptoCards 和 DPDK/SPDK)的架构,对NFV工作负载的电信公司而言,加速是一项必备的功能。通过Cyborg,运维人员可以列出、识别和发现加速器,将加速器连接到实例并将其分离、安装和卸载驱动器。它可以单独使用,或与 Nova 或 Ironic 结合使用。
4. Ironic 救援模式:之前在 Nova 中可以实现虚拟机实例修复,现在 Ironic 中可以实现裸机实例修复。运维人员可以对错误配置的裸机节点进行故障排除,或从诸如丢失的SSH密钥等问题中恢复。
5. Kuryr CNI 守护进程:OpenStack是在私有云中部署容器的首选平台,Queens版本扩展了微服务功能。Kuryr 增加了一个 CNI 守护进程来增加 Kubernetes 操作的可扩展性。为了支持高可用(HA),CNI 守护进程能够监控 pod 事件,不需要为每个事件等待 Kubernetes API。即便控制器宕机了,也可以创建 Pod。
6. Zun容器服务:Zun 是一个新 的OpenStack 项目,它允许用户无需管理服务器或集群即可快速启动和运行容器。它通过与 Neutron,Cinder,Keystone 和其他核心 OpenStack 服务集成,无缝地将先进的企业网络、存储和身份验证功能添加到容器中。
7. OpenStack-Helm
8. LOCI(轻量级开放容器计划):这是首次亮相的项目。LOCI 生成兼容 Open Container Initiative 的 OpenStack 服务镜像,可以放入像 OpenStack-Helm 这样的重量级部署工具,或者单独使用来交付像 Cinder 块存储这样的独立服务。 LOCI 提供了现有 OpenStack Kolla 项目的一种替代方案(为每个容器镜像提供一个更完整的打包方法)。LOCI 采取的方法更符合 Kubernetes 运行镜像的方式,其中容器本身非常小,管理位于容器外部。