热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

OpenStackQ版本新功能以及各核心组件功能对比

OpenStackQ版本已经发布了一段时间了。今天,小编来总结一下OpenStackQ版本核心组件的各项主要新功能,再来汇总一下最近2年来OpenStackN、O、P、Q各版本核心

OpenStack Q版本已经发布了一段时间了。今天, 小编来总结一下OpenStack Q版本核心组件的各项主要新功能, 再来汇总一下最近2年来OpenStack N、O、P、Q各版本核心组件的主要新功能。仅供参考, 如有遗漏、错误请指正。

1.1         Q版新功能总结

Q版相对于P版, 主要还是各功能的增强和优化, 其中主要功能有: 计算组件中的vGPU支持、冷迁移至指定主机、PCI NUMA亲和性、卷共享等,镜像组件中的web方式导入镜像, 网络组件中的浮动IP QoS、DVR/DHCP增强,块存储组件中的异步克隆卷,编排组件中对Octavia lbaas的编排和对项目标签的编排。

以上功能中计算的vGPU、冷迁移指定主机、PCI NUMA亲和性、卷共享以及网络的浮动IP限速在NFV和边缘计算场景比较有用。另外, 从API角度来看, 变化不大, 废弃了部分老API版本,API版本支持情况可以参考文末的附表。

1.1.1 重要功能汇总如下:

身份认证(keystone): 新增统一配额管理, 提供对用户的第三方应用程序进行身份注册和认证服务, 增加新的作用域: 系统级。

计算(Nova): 新增虚拟机对vGPU的支持, 冷迁移时可以指定主机, 支持PCI设备的NUMA亲和性, 支持挂载1个卷到多个虚拟机上。

镜像(Glance): 交互式镜像导入中增加web-download方式

网络(Neutron): 支持浮动IP的QoS限速, 增加新的DVR agent type: dvr_no_external。

块存储(Cinder): 支持异步克隆卷。

编排(Heat): 支持当栈创建/更新取消时进行回滚, 支持Octavia lbaas和项目的标签。

OpenStack各版本核心组件重要新增功能汇总

1.2         身份认证Keystone

1.2.1 Q版新功能:

1、新增: 统一配额管理, 把各模块单独的配额限制控制移到keystone统一管理, 并新增对应的API。该功能目前为试验性质的。

2、新增: 提供对用户的第三方应用程序进行身份注册和认证服务(Application Credentials)。

3、新增: 增加新的作用域(scope): 系统(system)。现在作用域分为三级: 系统(system), 域(domain), 项目(project)。

4、新增: 支持项目的标签, 用于过滤和搜索

5、废弃: policies API。Keystone目前不做策略管理。

6、废弃: /OS-FEDERATION/projects, /OS-FEDERATION/domains, 使用/v3/auth/projects和/v3/auth/domains代替。该API在Juno就已经被标记为废弃。

1.2.2 P版新功能:

1、优化: 注册默认策略, 使运维更容易维护策略文件

2、优化: 增强保存在SQL中的密码安全性, 使用更安全的hash

1.2.3 O版新功能:

1、新增: 每用户多因素身份验证规则(MFA规则), 可以指定在 Keystone 发出令牌之前使用多种认证方式。 例如,一些用户可能只需要密码,而其他用户则必须提供基于时间的一次性密码和另一种身份验证形式。

2、新增: 自动配置联合身份, 当用户登录联合系统时, Keystone 将动态地为该用户创建角色

优化: 验证过期的令牌:现在,耗时长的操作(如上传快照)将不会失败了。 你可以配置每个项目是否接受过期的令牌。

1.2.4 N版新功能:

1、新增: REST API 支持了证书加密

2、优化: 简化的配置步骤

1.3         计算Nova

1.3.1 Q版新功能

1、新增: 虚拟机初步支持vGPU。目前还有不少限制, 处于试验阶段: 一个计算节点只能支持1种类型的vGPU, 挂起虚拟机/调整虚拟机大小/迁移还不能分配vGPU, NVIDIA GRID显卡有vGPU使用个数的限制等问题。

2、新增: 冷迁移时可以指定主机

3、新增: 支持PCI设备的NUMA亲和性, 支持3种类型的策略: required(必须使用), legacy(如果支持的话就使用), preferred(希望使用)。

4、新增: 支持挂载1个卷到多个虚拟机上, 该卷创建时必须把multiattach置为true。

5、优化: 重建虚拟机时增加新的参数key_name及user_data, 可以在重建时重新设置或者删除密钥及user_data。

6、优化: 对部分API增加、优化了分页支持

7、优化: 对VMware虚拟机增加了优雅关闭的方式(graceful shutdown)

8、优化: 修正cell_v2中的部分问题。 cell_v2中增加delete_host属性, 可以把host从cell中删除。 另外, 在cell_v2 delete_cell中增加选项force, 可以强制删除整个cell, 而不管cell是否有host。

9、优化: 对下列虚拟机动作增加记录: attach_interface, detach_interface, attach_volume, detach_volume, swap_volume, lock, unlock, shelveOffload, createBackup, createImage.

10、优化: 对flavors的API增加描述description字段

11、优化: nova-novncproxy服务可以配置TLS安全证书和VNC server进行加密通信

12、优化: 支持新的厂商libvirt卷存储挂载驱动: StorPool。

13、废弃: Nova将不再支持Block Storage(Cinder) v2 API。

14、废弃: 废弃Nova API extension, os_compute_api:XXX

1.3.2 P版新功能

1、新增: 支持Cell v2的多Cell部署, 可以使用Cell v2 API创建多Cell环境, 适应更大规模集群。废弃Cell v1 API。

2、新增: 支持卷的multi-attach、支持卷动态伸缩、支持卷作为临时盘

3、新增: 防止虚拟机占用宿主机上的所有物理CPU,通过使用 reserved_host_cpus 配置项来为 hypervisor 预留部分CPU

4、优化: 支持在故障时,自动将自己进行隔离

5、优化: 支持通过ironic virt驱动对裸机网卡的添加和删除

6、优化: 优化配额管理,在配额不足时,提前给出提示而不是报错

7、优化: 优化PCI设备调度,避免无PCI请求的虚拟机调度到具备PCI设备的主机上

1.3.3 O版新功能

1、优化: Nova过滤器和调度器现在将会使用 Placement API,它会根据 CPU/内存/磁盘容量来过滤计算节点。

2、优化: Nova现在将会在所有部署中使用 Cell v2; 目前每个部署只支持一个Cell

3、优化: 现在是默认网络选项为neutron网络

4、优化: 增强升级能力, 使用新的 “nova-status upgrade check” CLI 命令来查看升级到 Ocata 所需做的事情。

1.3.4 N版新功能

1、新增: 自动网络配置, 可以让用户一键配置网络, 简化虚拟机配置

2、新增: Placement API,给用户更好的可见性,以及资源的控制,例如资源提供者、库存、分配和使用记录

3、新增: Cells v2,可以将你的数据中心合并为统一的管理,以及很好的扩展性。相比于上个版本,进行了大的改动,并完成了全部的特性。

4、优化: 可变的配置,允许管理员在Nova服务启动时更改配置即可生效,不再需要重新启动

1.4         镜像Glance

1.4.1 Q版新功能

1、新增: 交互式镜像导入中增加web-download方式, 即从远端URL中下在镜像

2、新增: 加入一个新的plugin, 可以自动把镜像元数据在交互式镜像导入过程中, 注入到非管理员创建的镜像中

3、废弃: glance registry服务和相关API被废弃, S版本时将会被移除。

注: glance-registry用于存储、处理、获取Image Metadata,通过响应从glance-api发送过来的Image Metadata REST Request,然后与MySQL进行交互,实现Image Metadate的存储、处理、获取。 v1的实现上,有glance-api和glance-registry两个WSGI 服务,都提供REST API,只不过glance-API的REST API对外使用,glance-registry的API只由glance-api使用。而 v2在实现上,把 glance-registry 的功能合并到了 glance-api 中,减少了一个中间环节。

1.4.2 P版新功能

新增: 增加交互式镜像导入方式,目前只支持glance-direct方式,即直接从文件导入镜像。直接导入镜像的流程包含3部分:

1. 使用镜像创建api创建镜像记录并得到镜像id。

2.通过镜像暂存(Stage) API上传镜像到暂存区域。

3.执行镜像导入调用, 完成镜像导入。

1.4.3 O版新功能

1、优化: 镜像的公开性增强, 用户现在可以创建可供其他人使用的‘社区‘镜像。 您还可以将镜像设置为‘共享‘给指定用户。

2、优化: 加强Keystone中的多重认证, 在Keystone中改善对MFA的支持,包括OTP(一次性密码)支持和每用户令牌过期规则。

1.4.4 N版新功能

1、新增: Glance Artifact仓库:Glare,可以提供不仅仅是镜像的支持

2、优化: 为永久快照提供的信任机制有效避免长时间运行的操作错误。

3、优化: 新增默认的限制性访问策略,意味着默认都是锁定的,除非用户作了明确的授权。

1.5         网络Neutron

1.5.1 Q版新功能

1、新增: 支持浮动IP的QoS

2、新增: 增加新的DVR agent type: dvr_no_external, 该模式使得浮动IP流量在南北向(DNAT)路由时为集中式处理, 而东西向路由时为分布式处理。

3、新增: 可在dhcp agent的配置项中配置dhcp的renewal和rebinding时间

4、优化: 可通过模糊匹配IP地址来过滤出端口

5、优化: 可通过agent配置项, 配置隧道外层报头中的dscp值

6、优化: 通过配置项, 外层报头中的dscp可继承自内层报头中的dscp值

7、优化: ovs agent支持通过ssl方式连接ovsdb服务, 增强了安全性

8、废弃:linuxbridge中的tos配置项被废弃, 使用更精确的配置项dscp

1.5.2 P版新功能

1、新增: 支持ovs驱动通过SR-IOV实现硬件卸载, ovs现在可直接绑定SR-IOV端口

2、优化: 优化性能和稳定性, 优化基于ovs的防火墙的稳定性; 优化neutron服务端和L2 agent之间通信, 降低neutron的服务端负载; 减少更新资源产生竞争的可能性;减少Metadata代理的内存使用

3、优化: 优化QoS, 支持ovs和 linux bridge驱动中的双向限速; 支持SR-IOV的出口带宽限制规则; 支持对路由器网关的限速;支持查看QoS规则类型详情

4、优化: 优化分布式路由(DVR)相关功能, 包括多个bug修复, 支持DVR快速退出等, 并增强稳定性

5、优化: 支持O版本无缝升级到P版, 提高可维护性

6、优化: 每个网络可单独配置MTU, 可以更改

7、优化: 支持为每个Port配置独立的DNS Domain

8、优化: 所有主要资源都可配置用户自定义标签

1.5.3 O版新功能

1、新增: 支持linux bridge qos的出方向最小带宽限速, 和dscp marking

2、优化: vhost-user机制增强, 支持重连

3、优化: 资源标记TAG功能支持子网、端口、子网池及路由器

4、优化: 对dhcp的ipv6模式进行了不少改进

5、优化: 新增keepalived vrrp 健康检查特性,增强master router到所有网关之间的连接验证。

1.5.4 N版新功能

1、新增: 支持vlan aware vms (即vlan trunk), 支持虚拟机之间带VLAN转发, 主要用于NFV等场景

2、新增: 支持对DHCP和L3 agent的可用域, 允许用户指定哪个节点上使用相关网络服务。

3、新增: 支持QoS功能, 支持对虚拟机端口、网络的限速和dscp marking。

4、新增: 支持基于角色的网络访问控制(RBAC), 允许其他项目访问自己的资源。

5、新增: 支持自动创建网络, 简化创建虚拟机时需要配置网络信息的步骤。只需要事先指定默认的外部网络和subnet pools, 创建虚拟机时, 可以让neutron自动根据默认配置, 创建网络,子网,分配ip, 路 由器, 连接外网。

6、新增: 支持查询网络及其子网的所有ip个数和使用过的ip个数

7、新增: 支持部分网络资源的描述、tag标签、创建、更新的时间戳

8、优化: API服务支持不间断升级

1.6         块存储Cinder

1.6.1 Q版新功能

1、新增: 支持异步克隆卷

2、新增: 支持新的策略: 不允许mutiattach操作

3、新增: 通过备份创建卷

4、优化: 支持快照的可用域过滤

5、优化: 支持和优化更多的厂家设备驱动: DataCore’s SANsymphony, Hyper-converged Virtual SAN storage, Inspur InStorage, VMware VStorageObject, VMDK, Dell EMC VMAX等等。

6、废弃: Cinder API v1在Juno版时, 现在完全删除。

7、废弃: 一致性组API被废弃, 可以使用通用卷组API。

8、废弃: 废弃并删除多个卷驱动: Block device driver, Blockbridge, Coho, FalconStor FSS, Infortrend, QNAP, Reduxio, Tegile, Violin, X-IO, ZTE, Hitachi HNAS, HBSD, VSP等。

1.6.2 P版新功能

1、新增: 支持”还原到快照” (revert to snapshot)功能,允许用户将卷数据回滚到上一次做快照的时间点

2、新增: 支持对正在被使用的卷进行热伸缩。 只限于libvert驱动,并限于iscsi和fc卷

3、新增: 支持对volume type进行更多的权限控制

4、优化: "复制组"(replication group)功能, 允许普通用户操作"复制组", 并有众多厂商驱动优化对”复制组”的支持

5、优化: 对分布式锁的使用

6、优化: 修复多个厂商驱动中的Bug

7、优化: 多后端环境中可单独为每个后端配置可用域

1.6.3 O版新功能

1、新增: 支持将一个卷附加给多个虚机功能,该功能预计在下一个版本中发布

2、新增: 支持主/主 HA, Cinder 现在可以运行在主/主群集模式下,来防止并发操作冲突。与过去的版本相比,Cinder 还优化了过程中出现的服务失败的处理过程

1.6.4 N版新功能

1、优化: 微版本,允许开发者在毋需破坏大版本的情况新增新的特性。

2、优化: 回滚更新,Newton之后的版本可以直接更新而无需动整个云平台。

3、优化: 配置项新增enabled_backends,对卷的创建定义了哪些后端类型。

4、优化: 可以重新更换加密的卷为不加密的,在创建之后再更改回来。

5、优化: 删除卷及其快照,使用了级联的特性,而不是首先删除快照。

6、优化: Cinder的备份服务现在可以扩展为多个实例,拥有了更佳的灵活性和扩展性。

1.7         编排Heat

1.7.1 Q版新功能

1、新增: 支持当栈创建/更新取消时不进行回滚

2、新增: Zun容器资源中增加hostname, hints, security_groups, mounts属性。

注: ZUN于 2016年6月建立。Zun的目标是提供统一的Openstack API用于启动和管理容器,支持多种容器技术。

3、新增: 支持Octavia Lbaas Service的编排, 包括: OS:Octavia:LoadBalancer, OS:Octavia:Listener, OS:Octavia:Pool, OS::Octavia:PoolMember, OS:Octavia:HealthMonitor, OS:Octavia:L7Policy, OS:Octavia:L7Rule

4、新增: 支持项目(租户)的tag标签的编排

5、新增: 支持OS:Trove:Cluster中配置网络资源

6、优化: 修复"强制删除‘SOFT-DELETED‘状态的虚拟机但是删除不了"的问题

7、废弃: 使用OS:Aodh:GnocchiAggregationByResourcesAlarm来替代OS:Aodh:Alarm.

8、废弃: 使用 OS:Designate:Zone和OS:Designate:RecordSet来替代OS:Designate:Domain和OS:Designate:Record

1.7.2 P版新功能

1、新增: 支持对Neutron:Trunk (即VLAN Trunk) 的编排

2、新增: 支持对网络主要资源标签的配置

3、新增: 支持创建虚拟机时, 使用’自动分配网络’

4、新增: 支持Nova:ServerGroup的策略: 弱亲和性(soft-affinity)和反弱亲和性(soft-anti-affinity)

1.7.3 O版新功能

新增: 新增通知和应用程序工作流。 使用OS::Zaqar::Notification来订阅Zaqar队列中的通知, 或使用OS::Zaqar::MistralTrigger来只订阅Mistral通知。

1.7.4 N版新功能

1、新增: 可以使用DNS解析, 并支持整合外部的DNS。

2、优化: 使用属性external_id attribute来访问额外的资源。

1.8         OpenStack各版本的API区别

 

另外, 小编注意到了从P版开始Ceilometer API就废弃了,使用aodh(alarms)、gnocchi(metrics)、Panko(events)替代。

从API表格来看, 各组件的API接口演进比较平滑, 新版本一般都能通过协商机制来兼容老版本,这给我们的环境升级带来了极大的方便。

1.9         参考文档

https://releases.openstack.org/queens/index.html

OpenStack各版本发布时间
Series            Status                        Initial Release Date    Next Phase                            EOL Date
Austin            End Of Life                    2010年10月21日        
Bexar            End Of Life                    2011年2月3日        
Cactus            End Of Life                    2011年4月15日        
Diablo            End Of Life                    2011年9月22日                                                2013年5月6日
Essex            End Of Life                    2012年4月5日                                                2013年5月6日
Folsom            End Of Life                    2012年9月27日                                                2013年11月19日
Grizzly            End Of Life                    2013年4月4日                                                2014年3月29日
Havana            End Of Life                    2013年10月17日                                                2014年9月30日
Icehouse        End Of Life                    2014年4月17日                                                2015年7月2日
Juno            End Of Life                    2014年10月16日                                                2015年12月7日
Kilo            End Of Life                    2015年4月30日                                                2016年5月2日
Liberty            End Of Life                    2015年10月15日                                                2016年11月17日
Mitaka            End Of Life                    2016年4月7日                                                2017年4月10日
Newton            End Of Life                    2016年10月6日                                                2017年10月25日
Ocata            Extended Maintenance        2017年2月22日            Unmaintainedestimated TBD    
Pike            Maintained                    2017年8月30日            Extended Maintenanceestimated         2019-03-03    
Queens            Maintained                    2018年2月28日            Extended Maintenanceestimated         2019-08-25    
Rocky            Maintained                    2018年8月30日          Extended Maintenanceestimated         2020-02-24    
Stein            Development                    2019-04-10           estimated(schedule)    Maintained estimated 2019-04-10    

OpenStack Q版本新功能以及各核心组件功能对比


推荐阅读
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • Windows操作系统提供了Encrypting File System (EFS)作为内置的数据加密工具,特别适用于对NTFS分区上的文件和文件夹进行加密处理。本文将详细介绍如何使用EFS加密文件夹,以及加密过程中的注意事项。 ... [详细]
  • 网络流24题——试题库问题
    题目描述:假设一个试题库中有n道试题。每道试题都标明了所属类别。同一道题可能有多个类别属性。现要从题库中抽取m道题组成试卷。并要求试卷包含指定类型的试题。试设计一个满足要求的组卷算 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 在日常生活中,支付宝已成为不可或缺的支付工具之一。本文将详细介绍如何通过支付宝实现免费提现,帮助用户更好地管理个人财务,避免不必要的手续费支出。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 本文详细介绍了C++中的构造函数,包括其定义、特点以及如何通过构造函数进行对象的初始化。此外,还探讨了转换构造函数的概念及其在不同情境下的应用,以及如何避免不必要的隐式类型转换。 ... [详细]
  • 本文详细介绍了iOS应用的生命周期,包括各个状态及其转换过程中的关键方法调用。 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • 回顾两年前春节期间的一个个人项目,该项目原本计划参加竞赛,但最终作为练习项目完成。独自完成了从编码到UI设计的全部工作,尽管代码量不大,但仍有一定的参考价值。本文将详细介绍该项目的背景、功能及技术实现。 ... [详细]
  • 本文探讨了使用普通生成函数和指数生成函数解决组合与排列问题的方法,特别是在处理特定路径计数问题时的应用。文章通过详细分析和代码实现,展示了如何高效地计算在给定条件下不相邻相同元素的排列数量。 ... [详细]
  • 在使用 Nginx 作为服务器时,发现 Chrome 能正确从缓存中读取 CSS 和 JS 文件,而 Firefox 却无法有效利用缓存,导致加载速度显著变慢。 ... [详细]
author-avatar
梁言一聚
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有