OpenStack Q版本已经发布了一段时间了。今天, 小编来总结一下OpenStack Q版本核心组件的各项主要新功能, 再来汇总一下最近2年来OpenStack N、O、P、Q各版本核心组件的主要新功能。仅供参考, 若有遗漏、错误请指正。html
Q版相对于P版, 主要仍是各功能的加强和优化, 其中主要功能有: 计算组件中的vGPU支持、冷迁移至指定主机、PCI NUMA亲和性、卷共享等,镜像组件中的web方式导入镜像, 网络组件中的浮动IP QoS、DVR/DHCP加强,块存储组件中的异步克隆卷,编排组件中对Octavia lbaas的编排和对项目标签的编排。linux
以上功能中计算的vGPU、冷迁移指定主机、PCI NUMA亲和性、卷共享以及网络的浮动IP限速在NFV和边缘计算场景比较有用。另外, 从API角度来看, 变化不大, 废弃了部分老API版本,API版本支持状况能够参考文末的附表。web
身份认证(keystone): 新增统一配额管理, 提供对用户的第三方应用程序进行身份注册和认证服务, 增长新的做用域: 系统级。数据库
计算(Nova): 新增虚拟机对vGPU的支持, 冷迁移时能够指定主机, 支持PCI设备的NUMA亲和性, 支持挂载1个卷到多个虚拟机上。swift
镜像(Glance): 交互式镜像导入中增长web-download方式后端
网络(Neutron): 支持浮动IP的QoS限速, 增长新的DVR agent type: dvr_no_external。api
块存储(Cinder): 支持异步克隆卷。安全
编排(Heat): 支持当栈建立/更新取消时进行回滚, 支持Octavia lbaas和项目的标签。网络
OpenStack各版本核心组件重要新增功能汇总并发
一、新增: 统一配额管理, 把各模块单独的配额限制控制移到keystone统一管理, 并新增对应的API。该功能目前为试验性质的。
二、新增: 提供对用户的第三方应用程序进行身份注册和认证服务(Application Credentials)。
三、新增: 增长新的做用域(scope): 系统(system)。如今做用域分为三级: 系统(system), 域(domain), 项目(project)。
四、新增: 支持项目的标签, 用于过滤和搜索
五、废弃: policies API。Keystone目前不作策略管理。
六、废弃: /OS-FEDERATION/projects, /OS-FEDERATION/domains, 使用/v3/auth/projects和/v3/auth/domains代替。该API在Juno就已经被标记为废弃。
一、优化: 注册默认策略, 使运维更容易维护策略文件
二、优化: 加强保存在SQL中的密码安全性, 使用更安全的hash
一、新增: 每用户多因素身份验证规则(MFA规则), 能够指定在 Keystone 发出令牌以前使用多种认证方式。 例如,一些用户可能只须要密码,而其余用户则必须提供基于时间的一次性密码和另外一种身份验证形式。
二、新增: 自动配置联合身份, 当用户登陆联合系统时, Keystone 将动态地为该用户建立角色
优化: 验证过时的令牌:如今,耗时长的操做(如上传快照)将不会失败了。 你能够配置每一个项目是否接受过时的令牌。
一、新增: REST API 支持了证书加密
二、优化: 简化的配置步骤
一、新增: 虚拟机初步支持vGPU。目前还有很多限制, 处于试验阶段: 一个计算节点只能支持1种类型的vGPU, 挂起虚拟机/调整虚拟机大小/迁移还不能分配vGPU, NVIDIA GRID显卡有vGPU使用个数的限制等问题。
二、新增: 冷迁移时能够指定主机
三、新增: 支持PCI设备的NUMA亲和性, 支持3种类型的策略: required(必须使用), legacy(若是支持的话就使用), preferred(但愿使用)。
四、新增: 支持挂载1个卷到多个虚拟机上, 该卷建立时必须把multiattach置为true。
五、优化: 重建虚拟机时增长新的参数key_name及user_data, 能够在重建时从新设置或者删除密钥及user_data。
六、优化: 对部分API增长、优化了分页支持
七、优化: 对VMware虚拟机增长了优雅关闭的方式(graceful shutdown)
八、优化: 修正cell_v2中的部分问题。 cell_v2中增长delete_host属性, 能够把host从cell中删除。 另外, 在cell_v2 delete_cell中增长选项force, 能够强制删除整个cell, 而无论cell是否有host。
九、优化: 对下列虚拟机动做增长记录: attach_interface, detach_interface, attach_volume, detach_volume, swap_volume, lock, unlock, shelveOffload, createBackup, createImage.
十、优化: 对flavors的API增长描述description字段
十一、优化: nova-novncproxy服务能够配置TLS安全证书和VNC server进行加密通讯
十二、优化: 支持新的厂商libvirt卷存储挂载驱动: StorPool。
1三、废弃: Nova将再也不支持Block Storage(Cinder) v2 API。
1四、废弃: 废弃Nova API extension, os_compute_api:XXX
一、新增: 支持Cell v2的多Cell部署, 可使用Cell v2 API建立多Cell环境, 适应更大规模集群。废弃Cell v1 API。
二、新增: 支持卷的multi-attach、支持卷动态伸缩、支持卷做为临时盘
三、新增: 防止虚拟机占用宿主机上的全部物理CPU,经过使用 reserved_host_cpus 配置项来为 hypervisor 预留部分CPU
四、优化: 支持在故障时,自动将本身进行隔离
五、优化: 支持经过ironic virt驱动对裸机网卡的添加和删除
六、优化: 优化配额管理,在配额不足时,提早给出提示而不是报错
七、优化: 优化PCI设备调度,避免无PCI请求的虚拟机调度到具有PCI设备的主机上
一、优化: Nova过滤器和调度器如今将会使用 Placement API,它会根据 CPU/内存/磁盘容量来过滤计算节点。
二、优化: Nova如今将会在全部部署中使用 Cell v2; 目前每一个部署只支持一个Cell
三、优化: 如今是默认网络选项为neutron网络
四、优化: 加强升级能力, 使用新的 “nova-status upgrade check” CLI 命令来查看升级到 Ocata 所需作的事情。
一、新增: 自动网络配置, 可让用户一键配置网络, 简化虚拟机配置
二、新增: Placement API,给用户更好的可见性,以及资源的控制,例如资源提供者、库存、分配和使用记录
三、新增: Cells v2,能够将你的数据中心合并为统一的管理,以及很好的扩展性。相比于上个版本,进行了大的改动,并完成了所有的特性。
四、优化: 可变的配置,容许管理员在Nova服务启动时更改配置便可生效,再也不须要从新启动
一、新增: 交互式镜像导入中增长web-download方式, 即从远端URL中下在镜像
二、新增: 加入一个新的plugin, 能够自动把镜像元数据在交互式镜像导入过程当中, 注入到非管理员建立的镜像中
三、废弃: 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 中,减小了一个中间环节。
新增: 增长交互式镜像导入方式,目前只支持glance-direct方式,即直接从文件导入镜像。直接导入镜像的流程包含3部分:
1. 使用镜像建立api建立镜像记录并获得镜像id。
2.经过镜像暂存(Stage) API上传镜像到暂存区域。
3.执行镜像导入调用, 完成镜像导入。
一、优化: 镜像的公开性加强, 用户如今能够建立可供其余人使用的'社区'镜像。 您还能够将镜像设置为'共享'给指定用户。
二、优化: 增强Keystone中的多重认证, 在Keystone中改善对MFA的支持,包括OTP(一次性密码)支持和每用户令牌过时规则。
一、新增: Glance Artifact仓库:Glare,能够提供不只仅是镜像的支持
二、优化: 为永久快照提供的信任机制有效避免长时间运行的操做错误。
三、优化: 新增默认的限制性访问策略,意味着默认都是锁定的,除非用户做了明确的受权。
一、新增: 支持浮动IP的QoS
二、新增: 增长新的DVR agent type: dvr_no_external, 该模式使得浮动IP流量在南北向(DNAT)路由时为集中式处理, 而东西向路由时为分布式处理。
三、新增: 可在dhcp agent的配置项中配置dhcp的renewal和rebinding时间
四、优化: 可经过模糊匹配IP地址来过滤出端口
五、优化: 可经过agent配置项, 配置隧道外层报头中的dscp值
六、优化: 经过配置项, 外层报头中的dscp可继承自内层报头中的dscp值
七、优化: ovs agent支持经过ssl方式链接ovsdb服务, 加强了安全性
八、废弃:linuxbridge中的tos配置项被废弃, 使用更精确的配置项dscp
一、新增: 支持ovs驱动经过SR-IOV实现硬件卸载, ovs如今可直接绑定SR-IOV端口
二、优化: 优化性能和稳定性, 优化基于ovs的防火墙的稳定性; 优化neutron服务端和L2 agent之间通讯, 下降neutron的服务端负载; 减小更新资源产生竞争的可能性;减小Metadata代理的内存使用
三、优化: 优化QoS, 支持ovs和 linux bridge驱动中的双向限速; 支持SR-IOV的出口带宽限制规则; 支持对路由器网关的限速;支持查看QoS规则类型详情
四、优化: 优化分布式路由(DVR)相关功能, 包括多个bug修复, 支持DVR快速退出等, 并加强稳定性
五、优化: 支持O版本无缝升级到P版, 提升可维护性
六、优化: 每一个网络可单独配置MTU, 能够更改
七、优化: 支持为每一个Port配置独立的DNS Domain
八、优化: 全部主要资源均可配置用户自定义标签
一、新增: 支持linux bridge qos的出方向最小带宽限速, 和dscp marking
二、优化: vhost-user机制加强, 支持重连
三、优化: 资源标记TAG功能支持子网、端口、子网池及路由器
四、优化: 对dhcp的ipv6模式进行了很多改进
五、优化: 新增keepalived vrrp 健康检查特性,加强master router到全部网关之间的链接验证。
一、新增: 支持vlan aware vms (即vlan trunk), 支持虚拟机之间带VLAN转发, 主要用于NFV等场景
二、新增: 支持对DHCP和L3 agent的可用域, 容许用户指定哪一个节点上使用相关网络服务。
三、新增: 支持QoS功能, 支持对虚拟机端口、网络的限速和dscp marking。
四、新增: 支持基于角色的网络访问控制(RBAC), 容许其余项目访问本身的资源。
五、新增: 支持自动建立网络, 简化建立虚拟机时须要配置网络信息的步骤。只须要事先指定默认的外部网络和subnet pools, 建立虚拟机时, 可让neutron自动根据默认配置, 建立网络,子网,分配ip, 路 由器, 链接外网。
六、新增: 支持查询网络及其子网的全部ip个数和使用过的ip个数
七、新增: 支持部分网络资源的描述、tag标签、建立、更新的时间戳
八、优化: API服务支持不间断升级
一、新增: 支持异步克隆卷
二、新增: 支持新的策略: 不容许mutiattach操做
三、新增: 经过备份建立卷
四、优化: 支持快照的可用域过滤
五、优化: 支持和优化更多的厂家设备驱动: DataCore’s SANsymphony, Hyper-converged Virtual SAN storage, Inspur InStorage, VMware VStorageObject, VMDK, Dell EMC VMAX等等。
六、废弃: Cinder API v1在Juno版时, 如今彻底删除。
七、废弃: 一致性组API被废弃, 可使用通用卷组API。
八、废弃: 废弃并删除多个卷驱动: Block device driver, Blockbridge, Coho, FalconStor FSS, Infortrend, QNAP, Reduxio, Tegile, Violin, X-IO, ZTE, Hitachi HNAS, HBSD, VSP等。
一、新增: 支持”还原到快照” (revert to snapshot)功能,容许用户将卷数据回滚到上一次作快照的时间点
二、新增: 支持对正在被使用的卷进行热伸缩。 只限于libvert驱动,并限于iscsi和fc卷
三、新增: 支持对volume type进行更多的权限控制
四、优化: "复制组"(replication group)功能, 容许普通用户操做"复制组", 并有众多厂商驱动优化对”复制组”的支持
五、优化: 对分布式锁的使用
六、优化: 修复多个厂商驱动中的Bug
七、优化: 多后端环境中可单独为每一个后端配置可用域
一、新增: 支持将一个卷附加给多个虚机功能,该功能预计在下一个版本中发布
二、新增: 支持主/主 HA, Cinder 如今能够运行在主/主群集模式下,来防止并发操做冲突。与过去的版本相比,Cinder 还优化了过程当中出现的服务失败的处理过程
一、优化: 微版本,容许开发者在毋需破坏大版本的状况新增新的特性。
二、优化: 回滚更新,Newton以后的版本能够直接更新而无需动整个云平台。
三、优化: 配置项新增enabled_backends,对卷的建立定义了哪些后端类型。
四、优化: 能够从新更换加密的卷为不加密的,在建立以后再更改回来。
五、优化: 删除卷及其快照,使用了级联的特性,而不是首先删除快照。
六、优化: Cinder的备份服务如今能够扩展为多个实例,拥有了更佳的灵活性和扩展性。
一、新增: 支持当栈建立/更新取消时不进行回滚
二、新增: Zun容器资源中增长hostname, hints, security_groups, mounts属性。
注: ZUN于 2016年6月创建。Zun的目标是提供统一的Openstack API用于启动和管理容器,支持多种容器技术。
三、新增: 支持Octavia Lbaas Service的编排, 包括: OS:Octavia:LoadBalancer, OS:Octavia:Listener, OS:Octavia:Pool, OS::Octavia:PoolMember, OS:Octavia:HealthMonitor, OS:Octavia:L7Policy, OS:Octavia:L7Rule
四、新增: 支持项目(租户)的tag标签的编排
五、新增: 支持OS:Trove:Cluster中配置网络资源
六、优化: 修复"强制删除'SOFT-DELETED'状态的虚拟机可是删除不了"的问题
七、废弃: 使用OS:Aodh:GnocchiAggregationByResourcesAlarm来替代OS:Aodh:Alarm.
八、废弃: 使用 OS:Designate:Zone和OS:Designate:RecordSet来替代OS:Designate:Domain和OS:Designate:Record
一、新增: 支持对Neutron:Trunk (即VLAN Trunk) 的编排
二、新增: 支持对网络主要资源标签的配置
三、新增: 支持建立虚拟机时, 使用’自动分配网络’
四、新增: 支持Nova:ServerGroup的策略: 弱亲和性(soft-affinity)和反弱亲和性(soft-anti-affinity)
新增: 新增通知和应用程序工做流。 使用OS::Zaqar::Notification来订阅Zaqar队列中的通知, 或使用OS::Zaqar::MistralTrigger来只订阅Mistral通知。
一、新增: 可使用DNS解析, 并支持整合外部的DNS。
二、优化: 使用属性external_id attribute来访问额外的资源。
另外, 小编注意到了从P版开始Ceilometer API就废弃了,使用aodh(alarms)、gnocchi(metrics)、Panko(events)替代。
从API表格来看, 各组件的API接口演进比较平滑, 新版本通常都能经过协商机制来兼容老版本,这给咱们的环境升级带来了极大的方便。
https://releases.openstack.org/queens/index.html
Series |
Status |
Initial Release Date |
Next Phase |
EOL Date | 组件数 | 组件 |
---|---|---|---|---|---|---|
Austin |
End Of Life |
2010年10月21日 |
|
2 | Nova, Swift | |
Bexar |
End Of Life |
2011年2月3日 |
|
3 | Nova, Glance, Swift | |
Cactus |
End Of Life |
2011年4月15日 |
|
3 | Nova, Glance, Swift | |
Diablo |
End Of Life |
2011年9月22日 |
|
2013年5月6日 | 3 | Nova, Glance, Swift |
Essex |
End Of Life |
2012年4月5日 |
|
2013年5月6日 | 5 | Nova, Glance, Swift, Horizon, Keystone |
Folsom |
End Of Life |
2012年9月27日 |
|
2013年11月19日 | 7 | Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder |
Grizzly |
End Of Life |
2013年4月4日 |
|
2014年3月29日 | 7 | Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder |
Havana |
End Of Life |
2013年10月17日 |
|
2014年9月30日 | 9 | Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer |
Icehouse |
End Of Life |
2014年4月17日 |
|
2015年7月2日 | 10 | Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove |
Juno |
End Of Life |
2014年10月16日 |
|
2015年12月7日 | 11 | Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara |
Kilo |
End Of Life |
2015年4月30日 |
|
2016年5月2日 | 12 | Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic |
Liberty |
End Of Life |
2015年10月15日 |
|
2016年11月17日 | 17 | Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight |
Mitaka |
End Of Life |
2016年4月7日 |
|
2017年4月10日 | 18 | Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum |
Newton |
End Of Life |
2016年10月6日 |
|
2017年10月25日 | 32 | Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher |
Ocata |
Extended Maintenance |
2017年2月22日 |
Unmaintainedestimated TBD |
32 | Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher | |
Pike |
Maintained |
2017年8月30日 |
Extended Maintenanceestimated |
2019年3月3日 | 32 | Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher |
Queens |
Maintained |
2018年2月28日 |
Extended Maintenanceestimated |
2019年8月25日 | 39 | Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, ceilometer-powervm, karbor, octavia, storlets, tricircle, zun |
Rocky | Maintained | 2018年8月30日 |
Extended Maintenanceestimated | 2020年2月24日 | 43 | Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, ceilometer-powervm, karbor, octavia, storlets, tricircle, zun, Cyborg, ec2-api, Masakari, Qinling |
Stein | Development | 2019年4月10日 |
estimated(schedule) |
————————————————————————————————————————————————————————————————————————————
aodh | Telemetry Alarming services | 遥测报警服务 |
---|---|---|
barbican | Key Manager service | 秘钥管理器服务 |
blazar | Resource reservation service | 资源预约服务 |
ceilometer | Telemetry Data Collection service | 遥测数据收集服务 |
cinder | Block Storage service | 块存储服务 |
cloudkitty | Rating service | 评级服务 |
congress | Governance service | 治理服务 |
designate | DNS service | DNS服务 |
glance | Image service | 形象服务 |
heat | Orchestration service | 业务流程服务 |
horizon | Dashboard | 指示板 |
ironic | Bare Metal service | 裸金属服务 |
karbor | Data Protection Orchestration Service | 数据保护编制服务 |
keystone | Identity service | 身份服务 |
magnum | Container Infrastructure Management service | 集装箱基础设施管理服务 |
manila | Shared File Systems service | 共享文件系统服务 |
mistral | Workflow service | 工做流服务 |
murano | Application Catalog service | 应用程序目录服务 |
neutron | Networking service | 网络服务 |
nova | Compute service | 计算服务 |
octavia | Load-balancer service | 负载平衡器服务 |
qinling | Function as a Service for OpenStack | 做为OpenStack服务的函数 |
sahara | Data Processing service | 数据处理服务 |
senlin | Clustering service | 集群服务 |
solum | Software Development Lifecycle Automation service | 软件开发生命周期自动化服务 |
swift | Object Storage service | 对象存储服务 |
tacker | NFV Orchestration service | NFV编排服务 |
tricircle | Networking automation across Neutron service | 中子服务的网络自动化 |
trove | Database service | 数据库服务 |
watcher | Infrastructure Optimization service | 基础设施优化服务 |
zaqar | Messaging service | 消息传递服务 |
zun | Containers service | 集装箱服务 |
ceilometer-powervm | ||
Cyborg | ||
ec2-api | ||
freezer | ||
Masakari | ||
monasca-api | ||
monasca-log-api | ||
panko | ||
Searchlight | ||
storlets | ||
vitrage |