• 刚刚,OpenStack 第 19 个版本来了,附28项特性详细解读!

    OpenStackStein版本引入了新的多云编排功能,以及帮助实现边缘计算用例的增强功能。

    OpenStack由一系列相互关联的项目组成,这些项目可以以不同的组合方式组合在一起,以实现完整的云部署。在OpenStackStein里程碑中,有多个项目集成了新功能和增强功能,以及有益于云运营商的新项目。新项目包括OpenStackPlacement服务,使运营商能够更有效地跟踪云资源清单。Stein版本中的Heat编排项目得益于支持跨多个OpenStack云编排新的工作负载部署。“OpenStackStein在稳定性,性能和可用性方面进行了相当多的改进,”Canonical的产品经理MarcinBednarz告诉eWEEK。“这证明了OpenStack的成熟程度以及它如何发展以应对新的应用场景,例如跨多个OpenStack云的Heat堆栈编排。”

    自从2010年由NASA和Rackspace首次推出以来,Stein是OpenStack平台的第19个版本。Stein更新是2019年首次OpenStack更新,并遵循2018年8月推出的Rocky里程碑。OpenStack是多利益相关方的努力,包括Canonical/Ubuntu,SUSE,VMware和RedHat等多家供应商,提供商业支持的OpenStack产品。此外,还有多个由OpenStack提供支持的云服务,包括Oracle,Rackspace,Telefonica,OVH,vScaler和CityNetwork。

    当OpenStack开始时,只有两个项目,Swift存储和Nova计算。新的OpenStackPlacement服务是最初属于Nova的一部分,但现在已经被分离到了它自己的项目中。根据发布说明,Placement服务的目标是跟踪云资源清单和用法,以帮助其他服务有效地管理和分配其资源。作为其自己的项目,OpenStack开发人员声称,对于常见的调度操作,API的性能提高了50%。

    “OpenStackPlacement为OpenStack中资源分配的内部机制提供了有趣的可能性,”Bednarz说。“随着性能的提高和Nova与Placement之间功能的明确划分,云运营商似乎可以从中受益,尤其是在更容易维护OpenStack服务方面。”

    Keystone身份

    OpenStack中的KeystoneIdentity项目受益于Stein版本中的几项重要增强功能,包括多重身份验证。SUSE的高级产品经理TRBosworth告诉eWEEK,Stein的多因素身份验证功能真正完成了2017年2月推出的OpenStackOcata版本的工作。

    “这是正确的方法,因为您进行多因素身份验证-您提供了一种身份验证,然后您将获得一个’half-token’,表示您已完成部分身份验证,然后当您使用身份验证的第二部分时提供所需要的手机号或key。“博斯沃思说。“这是一个已经实施的挑战响应机制。

    人工智能与边缘

    对于RedHat产品管理高级经理SeanCohen来说,Stein版本中有一些关键亮点可用于帮助企业在灵活,可扩展的私有云上提供新的差异化应用程序和服务。

    科恩告诉eWEEK,“随着组织希望从日益数字化的经济中提取更多的利益,斯坦因增加了专注于支持新工作负载和用例的能力。”“例如,通过Stein,人工智能/机器学习(AI/ML),通过OpenStack和TensorFlow之间的协作简化了面部识别等工作负载,提供了更加动态,多媒体的用户体验。”

    新兴的EdgeComputing概念也得到了OpenStackStein版本的推动。借助EdgeComputing,计算可以扩展到网络的边缘,而不是位于中央核心的所有计算资源。Cohen指出,分布式计算增强功能也是Stein的一部分,为用户提供采用边缘计算策略的新方法。

    “通过推动计算和存储功能更接近数据源,OpenStackStein可以更好地分配IT架构,有助于减少关键应用程序的延迟,同时降低带宽和运营成本,”Cohen说。

    Stein 发布亮点详细介绍

    1. Barbican-密钥管理器服务

    Barbican是OpenStack的密钥key管理组件,定位在使用RESTAPI来安全存储、提供和管理”密钥”。

    Notes:

    • 对Vault后端进行了一些增强。现在可以指定KV挂载点并使用AppRoles来管理身份验证。
    • 我们现在运行Barbican特定的Octaviagate来验证Octavia负载平衡方案。
    • 修改了PKCS#11插件以允许配置hmac_keywrap_mechanism。通过此更改,Barbican可以与UltimacoHSM一起部署。
    • 现在可以通过TripleO使用Thales或ATOSHSM部署Barbican和pkcs#11后端。
    • 此次修复是为了确保用于密钥轮换的barbican-manage命令适用于PKCS#11插件。

    2. Blazar-资源预订服务

    Blazar的目标是在OpenStack云中为不同的资源类型提供资源预留,包括虚拟(实例,卷等)和物理(主机,存储等)。

    Notes:

    • 引入了新的资源分配API,允许运营商查询其云资源的保留状态。
    • 添加了对实例预留的亲和性和非亲和性策略的支持,允许将同一类预留的多个实例安排调度到同一个虚拟机管理程序(hypervisor)。
    • 添加了一个用于预留浮动IP的新插件。此新功能可作为预览版提供,并将在下一版本中完整实现。
    • 集成了许多错误修复,以提高可靠性。

    3. Cinder-块存储服务

    提供RESTAPI使用户能够查询和管理volume、volumesnapshot以及volumetype,提供scheduler调度volume创建请求,合理优化存储资源的分配。通过driver架构支持多种back-end(后端)存储方式,包括LVM,NFS,Ceph和其他诸如EMC、IBM等商业存储产品和方案。

    Notes:

    • 为RBD驱动程序添加了multiattach和延迟删除支持。
    • 已经完成了许多错误修复来解决稳定性和可靠性问题。
    • 针对驱动程序初始化,卷传输期间保留的数据以及命令返回的信息的用户体验进行改进。
    • 备份服务的持续改进。

    4. Congress-治理服务

    Congress是一个基于异构云环境的策略声明、监控、实施、审计的框架(policy-as-a-service)。Congress从云中不同的服务获取数据,输入到congress的策略引擎,从而验证云中的各服务状态是否按照设置的策略运行。

    Notes:

    • 通过在Nova,Tacker和Monasca的集成中添加多项新功能,实现以及增强NFV故障管理功能。
    • 新的JGress框架通过使JSONAPI提供的云状态可用于策略评估来解锁全新的策略使用类。通过采用JSON查询语言直接在JSONAPI数据上表达策略,JGress使部署人员能够插入新数据源,而不受集成驱动程序可用性的限制。
    • 与每个版本一样,我们继续通过错误修复和内部改进使congress比以往更加强大和稳定。

    5. Cyborg-加速器生命周期管理

    提供通用的硬件加速管理框架。加速的硬件包括加密卡,GPU,FPGA,NVMe/NOFSSDs,DPDK/SPDK,eBPF/XDP等等。

    • 添加FPGA编程支持
    • 添加GPU驱动程序
    • DB重构从而开始与NOVA Placement api策略保持一致

    6. Designate-DNS服务

    Designate并没有实现DNS协议,而是管理了实现DNS协议的软件,例如BIND9,PowerDNS等。Designate将这些软件与OpenStack连接了起来,通过一套自己提供的API,控制底层的DNS软件,完成例如创建DNSZone,写入ResourceRecord等DNS操作。所以,Designate本身只是一个软件框架,一个适配多种DNS软件的软件框架。

    Notes:

    • CAA为托管DNS区域添加了CA授权的记录集类型
    • 添加了NAPTR服务链和SIP管理的记录集类型
    • 更新配额时验证项目ID
    • 添加了新命令以帮助升级。designate-statusupgradecheck

    7. Heat-编排服务

    编排Heat主要功能是自动化部署应用,自动化管理应用的整个生命周期。对于云计算来说,自动化管理是一个必不可少的部分,heat就是这部分功能的实现。AWS的EC2是通过提供CloudFormation格式的模板来实现Orchestration。Heat不仅100%兼容CloudFormation格式,同时支持自己的Hot(heatorchestrationtemplate)格式。Heat可以通常可用于解决客户Paas层的需求。

    Notes:

    • Heat现在支持在远程OpenStack云中编排堆栈,同时使用用户在Barbican中存储的凭证。
    • 现在,通过尝试使用与现有资源冲突的版本进行替换当前资源,从而可以更轻松地进行恢复。
    • Heat中的新资源类型增加了对NeutronLayer2Gateways,Blazar和Tap-as-a-Service的支持。
    • 支持通过GlanceWeb下载Glance镜像的资源类型,允许从URL获取镜像,而无需将其预先加载。

    8. Horizon-图形化管理服务

    为所有OpenStack服务提供可扩展的统一的基于Web的用户界面,从而可以简化运维管理操作。

    Notes:

    • 现在支持Cinder Generic Groups管理面板
    • 增加了缓解漏洞攻击的选项
    • 添加了upgrade_check管理命令
    • 支持clouds.yaml和openrc文件的自定义模板

    9. Ironic-裸机服务

    OpenStackIronic是一个进行裸机部署安装的项目。所谓裸机,就是指没有配置操作系统的计算机。Ironic实现的功能,就是可以很方便的对指定的一台或多台裸机,执行以上一系列的操作。例如部署大数据群集需要同时部署多台物理机,就可以使用Ironic来实现。Ironic可以实现硬件基础设施资源的快速交付。

    Notes:

    • 添加了用于管理硬件的其他接口,包括RedfishBIOS设置,显式iPXE引导接口选择选项和其他硬件支持。
    • 增强了用户的功能和选项,包括部署模板,改进了并行conductorworkers和磁盘擦除流程,部署的节点保护和描述,以及使用本地HTTP或HTTPS服务器来提供镜像。
    • 改进了standalone模式用户的选项,来请求分配裸机节点并提交配置数据,而不需要预先形成配置驱动器。另外,Ironic允许使用JSON-RPC而不是AMQP消息总线。

    10. Karbor-数据保护协调服务

    让各个厂商的数据保护软件通过标准接口接入OpenStack,为OpenStack提供增强的备份、复制、迁移等数据保护即服务(DataProtectionasaService)能力,Karbor致力于解决虚拟机备份难、无标准备份的接口的现状。

    Notes:

    • 支持将checkpoint重置为指定状态
    • 使用volume_glance_plugin支持跨站点备份和还原
    • 不同银行案例中checkpoint管理的优化

    11. Keystone-身份认证服务

    是OpenStack框架中负责管理身份验证、服务访问规则和服务令牌功能的组件。用户访问资源需要验证用户的身份与权限,服务执行操作也需要进行权限检测,这些都需要通过Keystone来处理。Keystone类似一个服务总线,或者说是整个Openstack框架的注册表,OpenStack服务通过Keystone来注册其Endpoint(服务访问的URL),任何服务之间的相互调用,都需要先经过Keystone的身份验证,获得目标服务的Endpoint,然后再调用。

    Notes:

    • 此版本引入了多重身份验证功能(Multi-Factor),这有助于在使用MFA时更加自然顺畅以及安全。
    • 限制API现在除了支持Project之外还支持Domain,因此可以将资源配额分配给顶级域并在子项目中分配。
    • JSONWeb令牌作为新的令牌格式与fernet令牌一起添加,支持互联网标准格式。JSONWeb令牌是非对称签名的,因此这种令牌格式不再需要在部署keystone服务的服务器之间同步私钥。
    • 多个keystoneAPI现在支持系统范围作为策略目标,这减少了对自定义策略的需求,以防止对具有任何项目的管理角色的用户进行全局访问。
    • 多个keystoneAPI现在使用默认的reader,member和admin角色而不是catch-all角色,这减少了为特定用户创建只读访问的自定义策略的需要。

    12. Kolla-容器化部署

    Kolla聚焦于如何使用Docker容器部署OpenStack服务。Kolla显著的特点是「开箱即用」和「简易升级」,前者由编排工具(Ansible/Kubernetes)提供自动化支撑,后者则完全是Container的功劳。Kolla追求为每一个OpenStackService都构建相应的Container,将升级/回滚的粒度(隔离依赖关系集)降维到Service或Project级别,实现升级/回滚的原子性。假若升级失败,则直接启动OldVersionContainer完成回滚。

    Notes:

    • 为Monasca的OpenStack监控服务完成了容器镜像和playbooks的添加。
    • 为OpenStackPlacement服务添加了一个容器镜像和playbooks,该服务已从Nova中提取到一个单独的项目中。
    • 添加了对执行MariaDB数据库的完整备份和增量备份的支持。

    13. Kuryr-容器网络管理服务

    其主要目标是通过该项目来整合OpenStack与Kubernetes的网络。该项目在Kubernetes中实作了原生Neutron-based的网络,因此使用Kuryr-Kubernetes可以让你的OpenStackVM与KubernetesPods能够选择在同一个子网上运作,并且能够使用Neutron的L3与SecurityGroup来对网络进行路由,以及阻挡特定来源Port。

    Notes:

    • 添加了对kubernetes处理和响应网络策略事件的支持,允许Kuryr-Kubernetes根据它们动态来处理安全组规则。
    • 添加了对配置为使用CRI-O的K8s的支持,这是基于OpenContainerInitiative的KubernetesContainerRuntimeInterface实现的容器。
    • 增强readiness健康检查以验证处理程序资源的配额,提高整体性能和稳定性,并在需要时将其标记为不健康。
    • 改进了对DPDK和SRIOV支持。

    14. Manila-共享文件系统服务

    为多租户云环境中的共享文件系统管理提供一组服务,类似于OpenStack通过Cinder项目提供基于块的存储管理的方式。

    Notes:

    • 扩展支持对DHSS=True模式的共享和快照的管理/非管理支持,并为共享服务器添加管理/非管理支持。

    15. Neutron-网络服务

    允许创建和管理网络对象,如网络、子网和端口,其他OpenStack服务可以使用。插件可以实现,以适应不同的网络设备和软件,为OpenStack的体系结构和部署提供灵活性。neutron,提供了一个API,使您可以定义网络连接并在云中寻址。网络服务还提供了一个API来配置和管理各种网络服务,包括从L3转发和NAT到负载平衡、边界防火墙和虚拟专用网络。

    Notes:

    • 支持严格的基于最小带宽的调度。通过此功能,nova实例可以调度到满足其端口的QoS策略定义的实例的最低带宽要求的计算主机上。
    • 网络段范围管理。此功能使云管理员能够通过新的API扩展动态管理网段范围,而不是之前编辑配置文件的方法。此功能针对StarlingX和边缘使用的案例,使其易于管理。
    • 加快Neutron端口批量创建。目标是针对containers/k8s用例,其中端口是按组创建的。
    • (FWaaS)FWaaSv1已被删除。自Newton发布以来,FWaaSv2可用,它涵盖了FWaaSv1中的所有功能。提供了一个迁移脚本,用于将现有的FWaaSv1对象转换为FWaaSv2模型。

    16. Nova-计算服务

    是OpenStack的核心服务,负责维护和管理云环境的计算资源,同时管理虚拟机生命周期。

    Notes:

    • 现在可以使用最新1.0.0版placement服务运行Nova,该服务由其自己的repository托管。请注意,在所有部署工具中尚未完全实现placement服务的安装/升级。在继续之前,用户应检查其特定的部署工具以获得支持。有关更多详细信息,请参阅placement安装和升级文档。在Stein,用户可以选择继续使用Novarepository中的集成placement服务,但是应该开始计划通过在Train版本中迁移到最新的placement服务,因为计划在Train版本发布中删除Nova集成placement的部分代码。
    • 用户现在可以在创建虚机服务时指定卷类型。
    • 计算API现在可以容忍部署中的瞬态条件,例如部分基础架构故障,例如无法访问的单元。
    • 用户现在可以创建具有Neutron端口的虚拟机,这些端口具有QOS最小带宽规则。
    • 用户现在可以使用Nova配置文件或PlacementAPI设置超卖。
    • 计算驱动程序功能现在自动作为展示PlacementAPI中的特性公开,它们可用于通过flavorextraspecs和镜像属性进行调度。
    • 现在,VMware驱动程序支持实时迁移。

    17. Octavia-负载均衡器服务

    是OpenStackLBAAS的支持的一种后台程序,提供为虚拟机流量的负载均衡。实质是类似于trove,调用Nova以及Neutron的api生成一台安装好haproxy和keepalived软件的虚拟机,并连接到目标网路,从而实现高性能的安全负载均衡的功能。

    Notes:

    • Octavia现在支持负载均衡器“flavors”。这允许操作员创建自定义负载均衡器“flavors”,用户可以在创建负载均衡器时进行选择。
    • 您现在可以在使用TERMINATED_HTTPS侦听器时启用TLS客户端身份验证。
    • Octavia现在支持对成员服务器连接的后端重新加密。
    • 现在可以将元数据标签分配给Octavia负载均衡器。

    18. OpenStack Ansible-针对OpenStack的Ansible playbooks和roles 部署

    从源码中部署OpenStack的方式使其可扩展,同时还易于操作,升级和管理。

    Notes:

    • 已经完成工具优化,这将导致更快,更可靠的部署。
    • 添加UbuntuBionic支持。
    • 添加Mistral支持。
    • 添加Manila支持。
    • 添加Masakari支持。

    19. Oslo-公共库

    生成一组包含OpenStack项目共享代码的python库。这些库提供的API应该是高质量,稳定,一致,记录和普遍适用的。通过这些公共库,可以很容易弄出一个完善鉴权、分布式、易配置、带调用链日志的REST服务。

    Notes:

    • 添加了Castellan配置驱动程序,允许将密钥从磁盘配置文件移动到任何与Castellan兼容的密钥库。该驱动程序存在于Castellan项目中,因此必须安装Castellan才能使用它。
    • 添加了一个配置驱动程序来读取环境变量中的值,这允许在容器中配置服务而无需注入文件。默认情况下,在oslo.config中启用此驱动程序。
    • 添加了配置验证工具oslo-config-validator。这使用oslo-config-generator数据查找配置文件中未在服务中定义的选项。

    20. Placement-资源跟踪展示服务

    跟踪云资源清单和使用情况,以帮助其他服务有效地管理和分配其资源。

    Notes:

    • Placement服务是从Nova项目中分离出的,并成为一个名为Placement的新官方OpenStack项目。
    • 添加了定位候选资源提供程序的功能,简化了指定主机以进行工作负载迁移的功能。
    • 对于常见的调度操作,API性能提高了50%。
    • 通过消除不必要的复杂性简化代码,简化未来的维护。

    21. Sahara-大数据处理服务

    该项目旨在使用用户能够在Openstack平台上便于创建和管理Hadoop以及其他计算框架集群,实现类似AWS的EMR(AmazonElasticMapReduceservice)服务。用户只需要提供简单的参数,如版本信息、集群拓扑、节点硬件信息等,利用Sahara服务能够在数分钟时间内快速地部署Hadoop、Spark、Storm集群。Sahara还支持节点的弹性扩展,能够方便地按需增加或者减少计算节点,实现弹性数据计算服务。它特别适合开发人员或者QA在Openstack平台上快速部署大数据处理计算集群。

    Notes:

    • Sahara插件将从核心代码中删除,以便于维护和升级。
    • APIv2稳定发布。
    • 从卷功能启动的改进。

    22. Searchlight-搜索服务

    在多租户云资源中提供高级和可扩展的索引和搜索。

    Notes:

    • Searchlight现在可以与Elasticsearch 5.x一起使用
    • 我们发布了一个新的愿景,使Searchlight成为一个多云应用程序
    • 功能测试设置已得到改进
    • Searchlight现在可以使用Python 3.7进行测试

    23. Senlin-集群服务

    定义了一套集群管理的框架,以管理由其他OpenStack服务公开的同类对象组。

    Notes:

    • 提高性能,使Senlin操作执行速度提高了几个数量级。
    • Healthpolicyv1.1版本现在允许用户指定多种类型的检测模式。
    • SenlinAPI现在在cluster/node锁定,冷却效果或操作冲突的情况下发出同步失败。
    • 操作员现在可以使用senlin-manage工具中的action-purge子命令删除已完成的操作。这对于在数据库中累积了大量操作的长时间运行的集群非常有用。

    24. Storlets-在对象存储服务中进行计算

    为了在OpenStackSwift中的数据附近执行以存储为中心的用户定义函数,实现用户友好,经济高效的可扩展和安全方式。

    Notes:

    • 支持用户代码的Python3运行

    25. Swift-对象存储服务

    提供了弹性可伸缩、高可用的分布式对象存储服务,适合存储大规模非结构化数据。

    Notes:

    • 对S3API兼容性层进行了大量改进。
    • 对数据加密中间件的一些修复和改进,包括允许多个keymaster中间件。这允许从一个密钥提供者迁移到另一个。
    • 用户可以使用新的databases_per_second配置选项更好地控制帐户和container后台守护程序I/O使用情况。
    • 现在可以将擦除编码数据重建为切换节点。当磁盘故障长时间未得到补救时,这可以提高数据持久性。

    26. Tripleo-部署服务

    开发和维护能够在生产中部署OpenStack的工具和基础架构,尽可能使用OpenStack。主要目标就是使用oepnstack来管理openstack,达到安装、维护、升级的目标。

    Notes:

    • 添加了对容器和容器镜像的podman和buildah的支持。
    • 现在,虚拟网络(OVN)是默认的网络配置。
    • 改进的可组合网络支持,用于创建L3路由网络和IPV6网络支持。

    27. Vitrage-RCA(根本原因分析)服务

    用来组织、分析和扩展openstack的告警和事件,对问题产生的根本原因进行推导,为系统产生推导后的告警或者设置推导后的状态。

    Notes:

    • 新而简化的模板语言!新模板更短,更容易理解和重用。
    • 添加了一个Trove数据源和一个Zaqar通知程序。
    • 用于查询Vitrage服务和资源计数的新API。
    • 性能改进和更快的数据检索。内存签名和处理运行时间显着减少。

    28. Watcher-基础结构优化服务

    Watcher的目标是为基于OpenStack的多租户云提供灵活且可扩展的资源优化服务。Watcher提供一个完整的优化循环链:从度量接收器,到优化处理器和操作计划应用程序。Watcher的目标在于提供一个强大的框架,可以实现广泛的云优化目标,包括减少数据中心运营成本,通过智能虚拟机迁移提高系统性能,提高能源效率等。此外,Watcher可供用户定制丰富的资源优化目标与策略算法。

    Notes:

    • Watcher支持API微转换。
    • Watcher使用Nova通知来更新其内部计算CDM(群集数据模型)。
    • 根据审计范围构建计算CDM。
    • 将start_time和end_time字段添加到CONTINUOUS审计。
    • 添加了新的配置选项’action_execution_rule’。

    最后是前十代码的贡献图

    翻译自:

    1.https://www.eweek.com/cloud/openstack-stein-improves-cloud-identity-and-orchestration

    2.https://releases.openstack.org/stein/highlights.html

    翻译整理:祝祥 新钛云服运维架构师

    十年运维经验,曾任刻通云运维工程师、微烛云和某互联网金融平台首席运维架构师。拥有OpenStack、CCIE、阿里云、ZStack等技术认证。有上万台云主机,PB级别分布式存储运维经验。熟悉各种虚拟化技术,软硬件,网络,容器编排等技术,拥有python开发经验。热爱各种开源技术。

    «
    »
以专业成就每一位客户,让企业IT只为效果和安全买单

以专业成就每一位客户,让企业IT只为效果和安全买单