作者:Mirantis Nick Chase
发布日期:08/27
 
本周我们都在期待 OpenStack 第16个社区版本 Pike,它预计在08/30发布。现在是我们传统节目时间了,那就是从这个版本中概括出53个核心功能。
 

1. OpenStack 计算服务(Nova)

  • Cells v2 多Cell部署:部署默认使用单Cell;从这个版本开始,你可以使用 Cells v2 API 创建多Cell 的环境了,尽管它还有一些局限。Cells v1 现在被标记为被弃用了。
  • 重写 Nova 配额系统,在资源被创建时计数:如果所申请的资源创建失败,你会得到错误;你不需要做任何改动就可以使用该功能。
  • 利用  PCIWeigher 来更高效地利用资源:PCI 设备是一种特殊硬件,因此你需要确保只有真正需要这些设备的负载会运行在带有 PCI 设备的宿主机上。使用 [filter_scheduler] pci_weight_multiplier 配置项来防止非 PCI 负载被调度到带有 PCI 设备的节点上。
  • 节点在不能正常工作时会自动从服务列表中移除,利用 [compute]/consecutive_build_service_disable_threshold 配置项。
  • 防止虚机占用宿主机上的所有物理CPU,通过使用 reserved_host_cpus 配置项来为 hypervisor 预留部分CPU。
  • Placement API 现在可以查看各种资源的定性“特征”,以更好地服务请求。

2. OpenStack 网络服务(Neutorn)

Neutron PTL Kevin Benton 告诉我们需要关注以下几点:
  • 支持从 Ocata 版本无缝升级到 Pike 版本
  • 使用 haproxy 代替 neutron namespace proxy agent,以降低元数据代理服务器(metadata proxy server)上的内存使用
  • 稳定性和性能优化

    • 优化基于 OVS openflow 防火墙的稳定性
    • 开始使用 Python3
    • 优化服务端和 L2 agent 之间的通信方式,来降低 Neutron 服务器端负载
    • 更新 Neutron HTTP API 中的条件比较和交换(Conditional compare-and-swap),为客户端提供竞争安全(race-safe)方式来更新资源
    • DHCP 代理支持路由网络(routed network )的其他段上的子网
  • QoS 改进
    • 支持 QoS 扩展中的带宽限制规则,设置带宽速率限制
    • OVS 和 Linux Bridge 驱动程序中的双向带宽限制 QoS 规则
    • SR-IOV 的出口带宽限制规则
    • 增加一个 API,获取已被加载的驱动所支持的 QoS 规则类型
  • DVR 改进
    • 支持可用性受限的外部网络(limited availability external networks )的部分分布式路由
    • 修复 bug,使得可以在 VRRP 场景中使用与未绑定端口相关联的浮动IP
    • 通过计算节点为不需要网络地址转换的数据包快速退出路由
  • 支持配额 API 中的配额使用统计
  • 支持为每个 Neutron 端口设置单独的 DNS 域
  • 支持为每个网络设置 MTU
  • 支持为所有标准 Neutron 资源设置用户自定义 tag

3. OpenStack 块存储服务(Cinder)

Cinder PTL Sean McGinnis 请我们关注以下几点:
  • 添加了 “还原到快照” 功能,允许用户将卷数据回滚到上一次做快照的时间点
  • 在某些情况下,我们支持扩展正在被使用的卷。以前仅在卷未挂载到实例时才允许被扩展。现在,通过 Pike Cinder 与使用 libvirt 驱动的 Pike Nova 相配合,我们可以扩展使用中的卷,并将该更改反映到运行着的实例。
  • 我们添加了 backend_default 配置部分。在此之前,如果您有一个设置,想要应用于所有存储后端,那么就需要在每个后端的配置部分中添加该配置项。Pike 版本中,这个新的配置部分中的设置可以被后端配置部分中的配置项所覆盖,或者直接被使用。
  • 添加卷组复制支持。在此之前,管理员只能配置整个后端来进行复制。现在,通过使用此功能,用户就能够根据自己的需求(所有卷作为应用程序的一部分,例如仅限数据库卷等)定义一卷组(volume group),并将该卷组复制到辅助后端。目前,只有少数 Cinder 驱动程序支持该功能,但是它现在确实是可用了。我们期望在后续版本中有更多的后端支持此功能。

4. OpenStack 镜像服务(Glance)

  • 通过使用新的 tasks_api_access 策略,来避免将 Tasks API 暴露给终端用户;这策略能够让 Glance 使用普通用户凭据来管理那些交互式映像导入任务。

5. OpenStack 编排服务(Heat)

Heat PTL Rico Lin 告诉我们,该项目增加了以下新资源,包括:
  • Neutron Trunk 资源支持(OS :: Neutron :: Trunk)
  • 支持新的 Magnum Cluster 和 Cluster Template 资源(OS :: Magnum :: Cluster 和 OS :: Magnum :: ClusterTemplate)
  • 由 Mistral 工作流管理的自定义资源类型(OS :: Mistral :: ExternalResource)
  • 添加 Zun Container 资源(OS :: Zun :: Container)
他还谈到在更新时可以使用 get_reality 功能:“您可以在更新 API 请求中使用 ‘converge’ 标志,此更新操作实际上会从服务(比如 nova 实例、cinder卷)中抽取资源并根据实际情况进行更新。 例如,我创建一个 m1.small 规格的实例,有人使用 nova API 对它进行更新,调整它的规格为 m1.large;使用 `converge` 标志后,Heat 会检测到该实例的 flavor 已经被更改,并将其改为原有规格 m1.small。”
 

6.  OpenStack Dashboard 服务(Horizon)

  • 就像我们已经可以从 Horizon 中下载 openrc 文件来配置 OpenStack 客户端一样,Pike 现在可以为 os-client-config下载 clouds.yaml文件。
  • 在项目的网络详细信息表中,创建和删除网络中的端口。 (作为运维,您可以使用策略打开和关闭此功能。)
  • 现在可以在添加安全组规则时指定 “any” IP 协议和 “any” 端口号
  • 现在可以看到哪些安全组被应用到了哪些 Neutron 端口
 

7. OpenStack 身份认证服务(Keystone)

Keystone PTL Lance Bragstad 告诉我们以下是 Pike 版本中已完成的一些重点工作: 
  • 注册默认策略 - 这样可以使运维更容易维护策略文件,特别是当大部分时候使用默认值时
  • 增强存储在SQL中的密码安全性 - SQL 身份后端已被更新,以支持更安全的密码 hash 机制,这更符合行业标准

8. OpenStack 对象存储服务(Swift)

Swift PTL John Dickinson 告诉我们,以下这些是 Pike 版本中 Swift 的一些主要新功能:
  • 支持全局分布式纠删码,包括:
    • 复制的纠删码片段
    • 用于更精确数据放置的复合环(Composite rings)
    • 针对每个策略的配置选项
  • 全局纠删码是通过复制对象的纠删码片段来实现的。这种 “EC复制” 允许每个独立区域在跨区域的网络中断时也能正常工作,并且允许一个区域故障时使用远程区域进行恢复。
  • 为了实现全局擦除码,我们首先必须支持“复合环”。复合环是由两个或多个“正常”环组成的数据放置环。组件环(component ring)是在不同的区域使用不同的设备独立构建的。以这种方式构建复合环允许更精确地分散副本或片段(例如,假设您有两个区域,您可以在每个区域中指定2副本从而总数为4副本,或者可以指定跨这两个区域使用 10 + 4 纠删码)。
  • 我们还添加了基于每个策略覆盖 proxy 配置选项的功能。例如,这会允许为一些存储策略设置读取关联性。

9. OpenStack 计量服务(Ceilometer)

Telemetry PTL Julien Danjou 告诉我们Pike 中有新增以下内容:
  • 支持 Manila
  • 支持多种 SDN 控制器

10. OpenStack DNS 即服务 (Designate)

11. OpenStack 裸金属部署项目 (Ironic)

Ironic PTL Dmitry Tantsur 告诉我们 Pike 版本有如下新增功能:
  • 从 Cinder 卷启动
  • 物理网络感知
  • 无缝/滚动升级

12. OpenStack 文件服务 (Manila)

  • 为每种共享类型(share type)设置配额,以及为共享组的数目和共享组快照设置配额
  • 增加了支持 IPV4 和 IPv6的文档和代码,包括 IPv6 地址校验,以及检测一驱动是否支持IPv4 或者 IPv6

13. OpenStack 容器项目 (Magnum)

  • K8S 集群默认包含了 K8S 面板
  • 包含了一个监控软件栈,包括 cAdvisor,node-exporter,Prometheus 和 Grafana,但它需要在被显式启用后才能使用
  • 允许限制 Magunum trustID 的访问权限,这样 Magunum 就不能无限制地访问OpenStack 的任何服务了

14. OpenStack 应用目录项目 (Murano)

Murano PTL Felipe Monteiro 告诉我们 Pike 中有以下重要变化:

15. OpenStack 大数据即服务 (Sahara)

Sahara PTL Telles Nobrega 告诉我们 Pike 中有以下重要变化:
  • Pike 版本的一个主要功能是引入了新的镜像创建和验证系统。我们仍然需要使用 disk image builder 来制作大部分镜像,但是Pike 版本引入了 CDH。它允许用户使用 libguestfs 来创建镜像,而不再依赖于 DIB。

16. OpenStack 策略即服务 (Congress)

Congress PTL Eric K  告诉我们,Pike 版本聚焦于可使用性,特别是针对刚刚使用的人群。包括:
  • 策略库(Policy library):一个管理员可以自定义和激活包含了一些有用策略的集成库,它允许管理员在学会如何撰写策略之前就能快速从 Congress 获益。
  • 监控面板:这个监控面板一目了然地总结了环境中所有政策违规情况的数量及其严重性,并提供了详细信息。

17. OpenStack 上的 OpenStack (TripleO)

TripleO PTL Emilien Macchi 告诉我们以下内容: 
  • Pike 版本周期内所做的主要工作是实现了由 TripleO 部署的服务的容器化
  • 我们还支持从 Ansible 任务驱动的 Ocata 版本的裸机部署升级到 Pike 版本的容器化部署
  • 在以前的版本中 TripleO 支持了可组合角色(Composable roles);现在,TripleO 支持了组合式网络(Composable network),因此运维人员能够根据所配置的角色来完全控制网络配置

18. OpenStack 工作流服务(Mistral)

Mistral PTL Renat Akhmerov 提到了以下几点:

  • 完成了第一个版本的 Actions API(mistral-lib repo)
  • 发布了更高级的工作流变量(不同范围,更灵活等)
  • Mistral OpenStack actions 现在可以在不同的区域(region)内运行;Mistral action 现在可以在引擎(engine)中运行(不需要运行在外部执行器中)
 
以上就是我们总结的 Pike 版本中 53 项值得重点期待的内容,但是,这些只是 Pike 版本所有内容的一小部分而已。我们一起来期待 Pike 版本吧!

[译] OpenStack Pike 版本中的 53 个新功能盘点的更多相关文章

  1. [译] OpenStack Ocata 版本中的 53 个新功能盘点

    原文链接:https://www.mirantis.com/blog/53-new-things-to-look-for-in-openstack-ocata/ 原文作者:Nick Chase, Ra ...

  2. [译] OpenStack Liberty 版本中的53个新变化

    一个新的秋季,一个新的OpenStack 版本.OpenStack 的第12个版本,Liberty,在10月15日如期交付,而且目前发行版本已经备好了.那么我们期望能从过去六个月时间的开发中获得些什么 ...

  3. [译] OpenStack Kilo 版本中 Neutron 的新变化

    OpenStack Kilo 版本,OpenStack 这个开源项目的第11个版本,已经于2015年4月正式发布了.现在是个合适的时间来看看这个版本中Neutron到底发生了哪些变化了,以及引入了哪些 ...

  4. Devstack 安装OpenStack Pike版本(单机环境)

    问题背景 最近在研究OpenStack的时候,需要对其源代码进行调试,公司服务器上部署的OpenStack环境又不能随意的进行折腾,为了研究的持续性和方便性,就决定再自己的虚拟机上面使用Devstac ...

  5. (转)OpenStack Kilo 版本中 Neutron 的新变化

    OpenStack Kilo 版本,OpenStack 这个开源项目的第11个版本,已经于2015年4月正式发布了.现在是个合适的时间来看看这个版本中Neutron到底发生了哪些变化了,以及引入了哪些 ...

  6. Android开发之清除缓存功能实现方法,可以集成在自己的app中,增加一个新功能。

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 Android开发之清除缓存功能实现方法,可以集成在自己的app中,增加一个新功能. 下面是一个效果图 ...

  7. Vue 3.0 中令人激动的新功能:Composition API

    正如你所期望的那样,Vue 3带来了很多令人兴奋的新功能.值得庆幸的是,Vue团队主要是在当前API的基础上引入了一些补充和改进,而不是进行重大更改,所以已经了解Vue 2的人应该很快就会对新的语法感 ...

  8. 微软Blazor组件发布,DevExpress v19.1.8中可用:Charts新功能

    点击获取DevExpress v19.2.3最新完整版试用下载 DevExpress UI for Blazor在v19.1.8中可用,此次更新发布包括DevExpress Blazor组件的主要功能 ...

  9. OpenStack Mitaka 版本中的 domain 和 admin

    OpenStack 的 Keystone V3 中引入了 Domain 的概念.引入这个概念后,关于 admin 这个role 的定义就变得复杂了起来. 本文测试环境是社区 Mitaka 版本. 1. ...

随机推荐

  1. 加减号改变input[type=number]的数值,基于[zepto.js]

    通过点击加减号可以更改input的数值,样式如下图: 具体的html代码如下: <div class="xh-lxx-cart-count1"> <span cl ...

  2. nodejs 全局变量和全局对象

    1.全局对象 所有模块都可以调用 1)global:表示Node所在的全局环境,类似于浏览器中的window对象. 2)process:指向Node内置的process模块,允许开发者与当前进程互动. ...

  3. c/c++ SQLite3的常用使用方法;

    下面测试用的sqlite例子;大家可以参考使用; #include "CppSQLite3.h" Class TestSqlite{ //定义db指针 private: CppSQ ...

  4. BeanFactory VS FactoryBean

    1. BeanFactory BeanFactory定义了 IOC 容器的最基本形式,并提供了 IOC 容器应遵守的的最基本的接口,也就是Spring IOC 所遵守的最底层和最基本的编程规范.在   ...

  5. word2vec原理(一) CBOW与Skip-Gram模型基础

    word2vec原理(一) CBOW与Skip-Gram模型基础 word2vec原理(二) 基于Hierarchical Softmax的模型 word2vec原理(三) 基于Negative Sa ...

  6. 用SSH解决大局域网反向端口转发问题

    本文作者Tony Lee,转载自FreeBuf.COM ​​自从家里换了联通光纤后,联通就在我家宽带出口前搭了一个路由器,我家也彻底沦为192.168.1.0/24段的局域网了,带来的问题就是在外网无 ...

  7. Hibernate 中Criteria Query查询详解【转】

    当查询数据时,人们往往需要设置查询条件.在SQL或HQL语句中,查询条件常常放在where子句中.此外,Hibernate还支持Criteria查询(Criteria Query),这种查询方式把查询 ...

  8. Pycharm中的加载多个项目

    使用Pycharm,总会创建几个项目文件,有时候又不想全部一个一个的打开,所以这时候需要一个项目共存的方法,现在说一下怎么项目共存. 中英文对照 英文:首先打开setting界面: 中文首先打开设置界 ...

  9. NYOJ--42--dfs--一笔画问题

    /* Name: NYOJ--42--一笔画问题 Author: shen_渊 Date: 18/04/17 15:22 Description: 这个题用并查集做,更好.在练搜索,试试手 本来用的v ...

  10. Vue事件处理

    前面的话 Vue事件监听的方式貌似违背了关注点分离(separation of concern)的传统理念.实际上,所有的Vue.js事件处理方法和表达式都严格绑定在当前视图的ViewModel上,它 ...