OpenStack Liberty 版本中的53个新变化

2018-04-03 11:20:59 浏览数 (1)

一个新的秋季,一个新的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)

  1. IPv6:既然在北美IPv4 地址已经正式地耗尽了,IPv6 已经变得更加重要。Neutron 现在提供了 IPv6 前缀代理(prefix delegation),使得对每一个提交(submit)能自动分配多个CIDR,这样,搭建一个网络就更加容易了。
  2. QoS:管理员现在可以通过分配 quota, 来不仅仅控制整个项目的带宽,还可以设置每个虚机的 QoS。
  3. 安全:管理员现在可以使用基于角色的权限管理(RBAC)来控制对特定网络的访问。
  4. LBaaS:现在 LBaaS 的参考实现是基于专业级别的负载均衡平台Octavia实现的,而且不再是实验性的了。
  5. IPAM:通过使用第三方的IPAM,可以使用可插拔式的IP地址管理了。

Cinder: 更好的操作控制和增加一些新的功能 (Better control over operations and additional information about capabilities)

  1. Quotas:支持对层级项目使用quota。
  2. 缓存: 经常使用的镜像现在可以被缓存了,因此它们不需要反复的通过网络被获取,从而提高了大镜像的性能,使得从镜像创建卷更快速。
  3. 易用性:Cinder 客户端现在可以获取后端存储Prvider的能力列表,免得用户使用不支持的功能。

Glance: 基于镜像签名和校验的更好的安全性 (Better security through image signing and verification)

  1. 镜像验证:Glance 现在允许用户使用他们自己的私钥要对镜像做签名,从而确保他们的镜像中不会被插入恶意代码。
  2. S3 代理:Glance 现在可以通过HTTP 代理来使用S3后端存储,从而可以在多个网络中使用。 Swift: 提高性能和运维能力 (Improved performance and operator capabilities)。
  3. 性能:增强了在使用低速磁盘时的性能,以及去掉了latency spike 以及在集群管理中限制数据移动。
  4. Ring 运维:运维人员现在可以使用ring-builder-analyzer 工具来快速地测试不同的Ring配置。
  5. 大规模上传:现在用户可以对爆炸性的归档需求(exploding archive)设置项目级别的元数据。
  6. 纠错码:用户现在应该可以信任对纠错码的显著性修补和优化了。

Keystone: 对混合云管理更加容易 (Easier hybrid cloud management)

  1. 混合云:多云联邦(Multi-cloud federation) 需要对 IDP (Identity Providers)更好地管控。Liberty 使得对多个独立的 IDP 后端使用统一的 Web 登录(WebSSO)成为了可能。
  2. 更好的混合云支持:能够区分位于不同云中的但是用户名相同的用户 Horizon: 更容易的创建虚机 (Easier instance launching)
  3. 创建虚机:Liberty 包含一个新的创建虚机的对话框(你可以通过配置项打开或者关闭它)。
  4. 网络管理:提供了一个新的网络拓扑页面,使得更容易看到到底发生了什么。
  5. 混合云管理:在 Horizon 中控制 特定IDP 的 WebSSO (IDP-specific WebSSO)。

Heat: 融合 (Convergence )

  1. 融合:Heat已经转变为一种开发者期望的新模式,它会带来更好的用户体验。Liberty 包含了“融合”架构的新的实现方式,这种方式是更多地基于工作流和观察的(based more on workflow and observation)。
  2. 支持新的资源:Heat 现在可以控制 Keystone 端点(endpoint)和服务,以及Barbican 和Designate 了。

Magnum: 支持新的类型和高可用性 (New support types, and high availability)

  1. 支持 Mesos:Magnum 现在能够支持 Mesos 了。
  2. 高可用性:通过使用Magnum 中主节点的数目(master count)大于1,用户就可以使用高可靠的多主Kubernetes集群了。
  3. 扩展性:Kubernetes 已经被整合到Neutron的负载均衡中。

Kolla: 容器支持和易于部署 (Containers and easy deployment)

  1. 多选择:来自CentOS, Fedora, Oracle Linux, Red Hat Enterprise Linux, and Ubuntu 等多家公司的使用 RDO,RHOS 或者源码的大概90个容器基础镜像组成的Docker 镜像可以供用户选择。
  2. 部署:可以在裸机上使用Ansible 部署大规模的基于容器的高可用环境,包括两个或者三个控制节点、最多100个计算节点、最多10个存储节点和一个网络节点。
  3. 服务:使用 Ansible Docker 部署多种服务:HAProxy, Keepalived, MariaDB Galera, RabbitMQ, memcached, Keystone, Glance, Nova, Neutron (LinuxBridge or OVS), Heat, Cinder (Ceph only) and Swift。
  4. 配置:提供了一种可选的部署工具,使得运维人员可以修改OpenStack 的配置。

Murano: 更好地控制向OpenStack 云创建和部署应用 (More control when creating and deploying applications to an OpenStack cloud)

  1. 开发者的控制:支持应用的版本,因此应用可以升级了。
  2. 用户的控制性:用户现在可以选择使用在OpenStack云环境的网络和要部署的应用。
  3. 资源控制:如果需要的话,环境可以被放弃。
  4. 基础设施控制:Murano 现在使用 Glance Artifact Repository 作为它的存储后端。
  5. 编排控制:可以使用 Heat 模板和文件进行部署。

Ceilometer: 通过简化的告警创建和实时告警触发能力来更好地控制集群 (Better cluster control through easier alarm creation and real-time alarm triggers)

  1. 实时监控:现在用户可以实时地基于发生的事件来触发告警。
  2. 性能:通过资源元数据缓存技术,提高了nova 计量数据抓取的性能,以及异步地处理Gnocchi 中的多个量度。
  3. 易用性:大多数的 meter 可以通过一个 ymal 文件而不是 python 代码创建。
  4. 和其它系统的整合:Ceilometer 可以将计量数据发送到Gnocchi 时间序列数据存储系统,它可以使用Grafana 来观察性能。

Trove: 通过引入新的功能增强了对MariaDB,MongoDB 和 Redis 的支持 (Improved support with new functionality for MariaDB, MongoDB, and Redis)

  1. MariaDB:支持MariaDB 自身,而不是依赖MySQL驱动。
  2. 集群:通过整合Percona更好地支持集群。
  3. Redis:增强 Redis 备份和复制功能。

Sahara: 极大的优化易用性 (Drastically enhanced ease of use)

  1. 灵活性:通过在数据源URL中传入不同的参数来重用数据源。
  2. 高效性:在多个租户之间共享数据源,这样你就不需要复制多份大的数据集了。
  3. 更强的支持:支持 MapR 5.0.0, 还支持将Manila 作为数据源。
  4. 便捷性:支持同时创建多个集群。

Zaqar: 增强灵活性、安全和性能 (Increased flexibility, security, and performance)

  1. 灵活性:支持预签名的URL,所以可以灵活地将它们提供给未授权用户或者服务,而不需要授予它们整个系统的权限。
  2. 安全性:使用 RBAC 保护API,这样用户可以准确地决定哪些人可以访问哪些资源。
  3. 高效性:支持Websocket 传输方式,从而可以使用一个通道(channel)进行全双工通信(full duplex communication)。

Barbican: 更好的安全和配额控制 (More control over security and quotas )

  1. 安全性:用户可以循环(rotate)用于加密项目级别密钥(key)的主密钥(Master Key),从而使用新的主密钥来取代可能已经泄露的就密钥。
  2. 管理型:你可能需要更多的控制一个项目的密码(secret)数量,甚至是一个用户可以上传的密码数量,而Barbican 现在就包括了这种类型的配额支持。
  3. 便捷性:项目管理员现在可以创建特定项目的CA(Certificate Authorities),然后用户就可以从他们项目的CA上创建自签名的x.509证书了 Congress: 更宽泛的政策违规的纠正方法 (Much wider range of corrections available for policy violations)。
  4. 灵活性:通过手动的响应措施,用户可以编写政策声明(policy statement),来确定是否违反了某个政策以及描述哪些API调用可以用于纠正违规。Liberty 版本中,政策可以纠正这些模块的违规:Ceilometer, Cinder, Glance, Heat, Ironic, Keystone, Murano, Neutron, Nova, and Swift。除此以外,Congress 现在提供了一系列的API调用给政策编写者来纠正违规。

以上部分,是这个版本中的(大部分)变化,除此以外,其它的项目也有它们自己的变化,包括:

  • Community App Catalog: Horizon 插件
  • Manila: 更好的调度和可靠性
  • Mistral: API 改进
  • Ironic: 额外的驱动和可操作性改进
  • Rally: 能够对生产系统做基准测试
  • Refstack: 用户能够提交测试结果来帮助确定OpenStack 兼容性的改进方向

0 人点赞