北京时间2020年5月13日晚上十一点,OpenStack第二十一个版本已开放下载,作为与Linux kernel、Chromium并列为全球贡献度最活跃的三大开源项目之一,依然保持着每六个月交付一个版本的迭代速度,在第21个开发期间,共有24,000多次代码合并,共有来自188个组织的1003位开发者参与其中。
虽然,OpenStack本身已经非常成熟,但一些更新和优化依然非常重要。此次更新主要聚焦在三个方面,包括改进核心基础设施层的可靠性,强化安全性和加密性能,以及拓展通用性用以支持新兴用例。此外,能看到OpenStack社区的一些新变化,这些变化对于未来OpenStack的发展也将产生深远影响。
新版本重点强化了三个方面
OpenStack基金会执行董事 Jonathan Bryce(傅兰石)介绍了三方面的更新要点:
首先,在核心基础设施层的可靠性方面的优化包括Nova、 Kuryr和Ironic三部分。
Nova新增的功能主要是帮助OpenStack进行云平台工作负载的跨数据中心迁移,Nova的新特性将使得新数据中心的扩展更容易一些。
Kuryr项目是将Docker或者K8s容器环境与OpenStack的Neutron网络进行连接,可以将容器工作负载传到Neutron网络。在Ussuri版本中,Kuryr新增了对IPv6的支持,此外还添加了对DPDK、SR-IOV的支持。从而可以更好地满足容器工作负载的网络需求。
新版本中,裸金属管理服务Ironic添加自动化裸金属硬件配置功能,降低新增裸机时操作难度,此外,Ironic也增加了对多租户和认证的支持。而且,Ironic可以不用非得在OpenStack框架内使用,它可以独立出来供别的项目使用,比如可以让Kubernetes直接调用Ironic来管理裸机。
其次,在绕安全性以及加密方面的更新主要涉及Octavia、Kolla和Neutron三个项目。
负载均衡项目Octavia新增对于TLS安全网络传输协议的支持,使负载均衡服务能强制执行安全合规性。
Kolla是一个OpenStack容器化部署工具,新版本中,Kolla首次增加了对TLS的内部加密支持,使得容器化部署的应用与OpenStack服务之间的通信自动添加TLS加密。
Neutron里增加了无状态的安全组(stateless security groups)支持,传统的Neutron网络安全追踪管理是有状态的,在会对网络数据做记录时会占用大量的资源,效率上会有一定的损失。Neutron的无状态安全组不会记录每个状态的数据或是信息,使得资源使用性更高。
第三点,拓展通用性以支持新兴用例,以此来支撑更多新型的工作负载。
新版本里,Cyborg(加速器生命周期管理)与Nova(计算服务)集成,Cyborg已经可以管理GPU或是FPGA硬件加速器,可以直接推送升级代码到FPGA里,可以为加速器配置工作负载。该功能是一大亮点,对于智能开源基础设施的实施很关键。
新版本中,Octavia负载均衡服务可以被部署在边缘环境中。边缘计算领域也产生了大量新兴用例需求,Octavia可以更好地服务于边缘计算环境。
OpenStack社区正致力于整合OpenStack跟Kubernetes,Magnum可以让用户在OpenStack中安装、运行Kubernetes变得更简单,还可以升级已安装的Kubernetes,还能升级Kubernetes集群所运行的操作系统。据OpenStack基金会中国社区经理李昊阳介绍说,欧洲核子研究组织CERN就是Magnum的一个重度用户,使用Magnum管理着500个Kubernetes集群。
就像Nova能管理虚拟机一样,Zun可以在OpenStack上执行容器镜像,Zun适用于只需要简单运行单一的docker镜像的场景,新版本里,Zun组件添加了对Kubernetes容器运行时的支持,对Kubernetes Pod的支持,用户可以采用Kuberntetes在Zun中执行进程,也可以用Zun在Kata Containers中创建Kubernetes pods来提升安全和隔离性能。
Jonathan Bryce,OpenStack基金会执行董事表示:“在大规模运维用户的带领下,OpenStack部署在各行各业,并且几乎遍及全球各洲。全球社区支持OpenStack的用户和开发者不仅稳步提升了软件的核心功能,还积极推动创新,支持各个软件层级新兴且重要的应用案例。随着Ussuri版本的发布,社区提供了从裸金属到边缘应用,从自动化服务器、加速器的部署到负载均衡服务器、容器安全性能的提升等功能。”
OpenStack的一些新变化
作为全球贡献度最活跃的三大开源项目中唯一的企业级用户使用的项目,OpenStack的重要性不容小觑,451 Research的市场报告显示,2023年全球商业市场份额将达到77亿美金,如今的OpenStack支撑着超过75个公有云数据中心及数千个私有云,总体计算核心超过千万。
Mark Collier,OpenStack基金会首席运营官表示:“首先,OpenStack作为一种智能开源基础设施引擎得到大家的认可,因为它的确运行良好,是世界上最稳定可靠的构建云计算平台的软件。此外,随着每个新版本的自动化和成熟度不断增加,OpenStack得以在电信、医疗、银行、娱乐、高性能计算、政务等领域实现一些世界上最领先且最具开创性的工作。”
OpenStack变得越发开放和多元化。2018年,从OpenStack Days China到OpenInfra Days China的转变,意味着OpenStack基金会在会将基础设施相关的开源项目都囊括其中,我们看到OpenStack与容器K8s集成,支持包括裸金属、虚拟机(VMs)、图形处理单元(GPUs)及容器等在内的多种架构,支持人工智能、机器学习、边缘计算及物联网等新型工作负载。
谈到中国市场时,OpenStack基金会首席运营官 Mark Collier(柯理怀)还特别提到了中国地区的成员正在使用新的ARM计算架构,中国市场对于国产化服务器的需求非常大,一些开发也会面向国产服务器做一些适配工作。
OpenStack让基础设施的管理更自动化智能化。 OpenStack基金会中国社区经理李昊阳表示,今年以来社区里出现了很多围绕5G、人工智能以及机器学习、边缘计算的创新,很多创新致力于通过软件开发来使得硬件的管理变得自动化。未来,技术发展还将更多围绕如何通过软件的方式来更好地管理硬件。
OpenStack可独立使用的项目越来越多。OpenStack基金会执行董事 Jonathan Bryce(傅兰石)表示,前几年,OpenStack的项目倾向于成为单一架构的整体解决方案,每个核心组件彼此相连,耦合度比较高,而最近几次版本发布中,许多核心组件朝着独立的或耦合度较低的方向发展,比如Ironic对外暴露API出来,作为一个独立项目来管理裸机,供Kubernetes直接调用,使用Ironic的时候不用安装整套OpenStack。这一趋势也是未来的发展方向。
作为一个活跃度非常高的开源项目,OpenStack社区其实也有许多僵尸项目,而这,恰恰体现了OpenStack本身的开放性,它体现在,允许开发者用代码实验想法。OpenStack基金会执行董事 Jonathan Bryce(傅兰石)表示,开源是很有价值的实验性的东西,开源让人们测试某个想法,但有可能很多源码没有太大用处,OpenStack基金会托管的项目代码库有一定的流程和规则来管理项目,并不是所有开源项目都会转化为实际的产品,这是一个不断试错的过程。
结语
作为云计算领域最具影响力的开源方案,OpenStack本身已经趋于成熟 ,工业应用中已经非常普遍,当发展到一定阶段,OpenStack本身的话题性开始降低,但无论是实际应用在生产环境业务中,还是在别的方案中参考OpenStack,其实本身都体现了OpenStack作为开源项目的价值。