OpenStack Liberty 版本中53个重要的变化
一个新的秋季,一个新的OpenStack 版本。OpenStack 的第12个版本,Liberty,在10月15日如期交付,而且目前发行版本已经备好了。那么我们期望能从过去六个月时间的开发中获得些什么呢?
正如过去几年一样,每个版本都有大量的变化和引入新的功能,但是现在,OpenStack 已经达到一个新的位置,那就是大部分的必要功能都已经齐备了,因此,现在更多的是增量式的变化-只有一些偶然性爆发的领域是例外,比如容器。
当然,这不是说容器就是过去六个月内的所有值得期待的东西。除了容器,还有混合云和安全的新的部署模式,以及大多数项目在可升级性、性能以及稳定性上的改进,以及添加新的功能。
10月8号,Rudy McComb 和我会做一场在线研讨会,到时会详细地讨论每个项目中的变化。但是,到目前为止,我们已经和各个项目的PTL 进行过交谈,因此,这里有了一份一些比较重要的改进和新增功能的快速报告。
Nova: NFV 和大规模部署 (NFV and large scale deployments)
1. NFV:其实,自然地看起来,讨论NFV的领域应该是网络,也就是Neutron,但是实际上,许多的工作和Nova相关。 “OPNFV 致力于在所有开放品台上为NFV提供参考实现和测试平台“,Jay Pipes 对Enterprise Networking Planet说,而他是Mirantis 的工程主管。”OpenStack 是一个更大NFV架构中的基础架构层(NFVi),它包括虚拟网络功能本身,更高层的编排、运营和商务支持系统“。
2. Cell 管理:Cell提供了将资源进行分组的方法,使得用户可以部署更大规模的OpenStack云,这样,资源的管理会更加容易。现在,管理员可以将已有的资源添加到cell分区中,然后系统就会知道在哪里找到它们。
Neutron: 更好的管理安全和带宽,更易向 IPv6 迁移 (Better control over security and bandwidth, easier moves to IPv6)
3. IPv6:既然在北美IPv4 地址已经正式地耗尽了,IPv6 已经变得更加重要。Neutron 现在提供了 IPv6 前缀代理(prefix delegation),使得对每一个提交(submit)能自动分配多个CIDR,这样,搭建一个网络就更加容易了。
4. QoS:管理员现在可以通过分配 quota, 来不仅仅控制整个项目的带宽,还可以设置每个虚机的 QoS。
5. 安全:管理员现在可以使用基于角色的权限管理(RBAC)来控制对特定网络的访问。
6. LBaaS:现在 LBaaS 的参考实现是基于专业级别的负载均衡平台Octavia实现的,而且不再是实验性的了。
7. IPAM:通过使用第三方的IPAM,可以使用可插拔式的IP地址管理了。
Cinder: 更好的操作控制和增加一些新的功能 (Better control over operations and additional information about capabilities)
8. Quotas:支持对层级项目使用quota
9. 缓存: 经常使用的镜像现在可以被缓存了,因此它们不需要反复的通过网络被获取,从而提高了大镜像的性能,使得从镜像创建卷更快速
10. 易用性:Cinder 客户端现在可以获取后端存储Prvider的能力列表,免得用户使用不支持的功能。
Glance: 基于镜像签名和校验的更好的安全性 (Better security through image signing and verification)
11. 镜像验证:Glance 现在允许用户使用他们自己的私钥要对镜像做签名,从而确保他们的镜像中不会被插入恶意代码。
12. S3 代理:Glance 现在可以通过HTTP 代理来使用S3后端存储,从而可以在多个网络中使用。
Swift: 提高性能和运维能力 (Improved performance and operator capabilities)
13. 性能:增强了在使用低速磁盘时的性能,以及去掉了latency spike 以及在集群管理中限制数据移动
14. Ring 运维:运维人员现在可以使用ring-builder-analyzer 工具来快速地测试不同的Ring配置
15. 大规模上传:现在用户可以对爆炸性的归档需求(exploding archive)设置项目级别的元数据
16. 纠错码:用户现在应该可以信任对纠错码的显著性修补和优化了。
Keystone: 对混合云管理更加容易 (Easier hybrid cloud management)
17. 混合云:多云联邦(Multi-cloud federation) 需要对 IDP (Identity Providers)更好地管控。Liberty 使得对多个独立的 IDP 后端使用统一的 Web 登录(WebSSO)成为了可能。
18. 更好的混合云支持:能够区分位于不同云中的但是用户名相同的用户
Horizon: 更容易的创建虚机 (Easier instance launching)
19. 创建虚机:Liberty 包含一个新的创建虚机的对话框(你可以通过配置项打开或者关闭它)
20. 网络管理:提供了一个新的网络拓扑页面,使得更容易看到到底发生了什么
21. 混合云管理:在 Horizon 中控制 特定IDP 的 WebSSO (IDP-specific WebSSO)
Heat: 融合 (Convergence )
22. 融合:Heat已经转变为一种开发者期望的新模式,它会带来更好的用户体验。Liberty 包含了“融合”架构的新的实现方式,这种方式是更多地基于工作流和观察的(based more on workflow and observation)
23. 支持新的资源:Heat 现在可以控制 Keystone 端点(endpoint)和服务,以及Barbican 和Designate 了。
Magnum: 支持新的类型和高可用性 (New support types, and high availability)
24. 支持 Mesos:Magnum 现在能够支持 Mesos 了。
25. 高可用性:通过使用Magnum 中主节点的数目(master count)大于1,用户就可以使用高可靠的多主Kubernetes集群了。
26. 扩展性:Kubernetes 已经被整合到Neutron的负载均衡中。
Kolla: 容器支持和易于部署 (Containers and easy deployment)
27. 多选择:来自CentOS, Fedora, Oracle Linux, Red Hat Enterprise Linux, and Ubuntu 等多家公司的使用 RDO,RHOS 或者源码的大概90个容器基础镜像组成的Docker 镜像可以供用户选择
28. 部署:可以在裸机上使用Ansible 部署大规模的基于容器的高可用环境,包括两个或者三个控制节点、最多100个计算节点、最多10个存储节点和一个网络节点。
29. 服务:使用 Ansible + Docker 部署多种服务:HAProxy, Keepalived, MariaDB + Galera, RabbitMQ, memcached, Keystone, Glance, Nova, Neutron (LinuxBridge or OVS), Heat, Cinder (Ceph only) and Swift
30. 配置:提供了一种可选的部署工具,使得运维人员可以修改OpenStack 的配置。
Murano: 更好地控制向OpenStack 云创建和部署应用 (More control when creating and deploying applications to an OpenStack cloud)
31. 开发者的控制:支持应用的版本,因此应用可以升级了。
32. 用户的控制性:用户现在可以选择使用在OpenStack云环境的网络和要部署的应用。
33. 资源控制:如果需要的话,环境可以被放弃
34. 基础设施控制:Murano 现在使用 Glance Artifact Repository 作为它的存储后端。
35. 编排控制:可以使用 Heat 模板和文件进行部署
Ceilometer: 通过简化的告警创建和实时告警触发能力来更好地控制集群 (Better cluster control through easier alarm creation and real-time alarm triggers)
36. 实时监控:现在用户可以实时地基于发生的事件来触发告警
37. 性能:通过资源元数据缓存技术,提高了nova 计量数据抓取的性能,以及异步地处理Gnocchi 中的多个量度。
38. 易用性:大多数的 meter 可以通过一个 ymal 文件而不是 python 代码创建
39. 和其它系统的整合:Ceilometer 可以将计量数据发送到Gnocchi 时间序列数据存储系统,它可以使用Grafana 来观察性能
Trove: 通过引入新的功能增强了对MariaDB,MongoDB 和 Redis 的支持 (Improved support with new functionality for MariaDB, MongoDB, and Redis)
40. MariaDB:支持MariaDB 自身,而不是依赖MySQL驱动。
41. 集群:通过整合Percona更好地支持集群
42. Redis:增强 Redis 备份和复制功能
Sahara: 极大的优化易用性 (Drastically enhanced ease of use)
43. 灵活性:通过在数据源URL中传入不同的参数来重用数据源
44. 高效性:在多个租户之间共享数据源,这样你就不需要复制多份大的数据集了
45. 更强的支持:支持 MapR 5.0.0, 还支持将Manila 作为数据源
46. 便捷性:支持同时创建多个集群
Zaqar: 增强灵活性、安全和性能 (Increased flexibility, security, and performance)
47. 灵活性:支持预签名的URL,所以可以灵活地将它们提供给未授权用户或者服务,而不需要授予它们整个系统的权限
48. 安全性:使用 RBAC 保护API,这样用户可以准确地决定哪些人可以访问哪些资源
49. 高效性:支持Websocket 传输方式,从而可以使用一个通道(channel)进行全双工通信(full duplex communication)
Barbican: 更好的安全和配额控制 (More control over security and quotas )
50. 安全性:用户可以循环(rotate)用于加密项目级别密钥(key)的主密钥(Master Key),从而使用新的主密钥来取代可能已经泄露的就密钥
51. 管理型:你可能需要更多的控制一个项目的密码(secret)数量,甚至是一个用户可以上传的密码数量,而Barbican 现在就包括了这种类型的配额支持。
52. 便捷性:项目管理员现在可以创建特定项目的CA(Certificate Authorities),然后用户就可以从他们项目的CA上创建自签名的x.509证书了
Congress: 更宽泛的政策违规的纠正方法 (Much wider range of corrections available for policy violations)
53. 灵活性:通过手动的响应措施,用户可以编写政策声明(policy statement),来确定是否违反了某个政策以及描述哪些API调用可以用于纠正违规。Liberty 版本中,政策可以纠正这些模块的违规:Ceilometer, Cinder, Glance, Heat, Ironic, Keystone, Murano, Neutron, Nova, and Swift。除此以外,Congress 现在提供了一系列的API调用给政策编写者来纠正违规。(Flexibility: With manual reactive enforcement, users write policy statements that both identify a policy violation and dictate which API call should be executed to correct that violation. In Liberty policies can correct violations using API calls for Ceilometer, Cinder, Glance, Heat, Ironic, Keystone, Murano, Neutron, Nova, and Swift. In addition, Congress now provides a list of the API calls that policy writers can use to correct violations.)
以上部分,是这个版本中的(大部分)变化,除此以外,其它的项目也有它们自己的变化,包括: