OpenStack最新版本Victoria发布亮点与初体验

Stella981
• 阅读 900

前言

OpenStack是一个云操作系统,可控制整个数据中心内的大型计算,存储和网络资源池,所有资源均通过具有通用身份验证机制的API进行管理和配置。 还提供了一个仪表板,可让管理员进行控制,同时授权其用户通过Web界面配置资源。 除了标准的基础架构即服务功能外,其他组件还提供业务流程,故障管理和服务管理等其他服务,以确保用户应用程序的高可用性。

OpenStack最新版本Victoria发布亮点与初体验

Victoria是2020最后一个OpenStack版本,新冠疫情并没有对该版本的发布产生太大的影响,作为OpenStack的第22个版本,如今已经更加稳定,更加强健。官网给出的发布时间是2020年10月12号到16号。预计14号左右发布。当前版本已经可以测试使用。

Redhat作为开源的社区的霸主,其贡献依然排名第一,国内的华为,99cloud,中兴,Kylin Cloud等公司上榜,至2020年10月13号,贡献排名如下图:

OpenStack最新版本Victoria发布亮点与初体验

Victoria发布亮点

Cinder - 块存储服务

Cinder接口提供了一些标准功能,允许创建和附加块设备到虚拟机,如“创建卷”,“删除卷”和“附加卷”。还有更多高级的功能,支持扩展容量的能力,快照和创建虚拟机镜像克隆。

Notes:

  • 改进了对配置的默认卷类型的处理,并使用microversion 3.62添加了新的块存储API调用,可以为单个项目设置项目级别的默认卷类型。
  • 添加了一些新的后端驱动程序,同时当前的大部分驱动程序都添加了对更多功能的支持。例如,NFS驱动程序现在支持卷加密。
  • 使用流行的Zstandard压缩算法,增加了对cinder备份的支持。

Cloudkitty

Notes:

  • 在项目一段时间不活跃之后,新的贡献者恢复了开发。
  • 推出了Monasca fetcher,以从Monasca中获取数据。

Cyborg - 硬件管理加速器

Cyborg(以前称为Nomad)旨在为加速资源(即FPGA,GPU,SoC, NVMe SSD,DPDK/SPDK,eBPF/XDP …)提供通用管理框架。

Notes:

  • Ussuri发行以来,用户可以使用由Cyborg管理的加速器启动实例,该发行版还支持两项操作Rebuild and Evacuate
  • Cyborg支持新的加速器驱动程序(Intel QATInspur FPGA),并达成协议,希望实施新驱动程序的供应商至少应提供完整的驱动程序报告结果。(当然,更欢迎提供第三方CI。)受支持的驱动程序(https://docs.openstack.org/cyborg/latest/reference/support/matrix.html
  • 支持Program API,现在,用户可以在给定预加载的bitstream的情况下对FPGA进行编程。程序API(可部署PATCH)(https://specs.openstack.org/openstack/cyborg-specs/specs/train/approved/cyborg-api.html)并改进了现有APIAPI微版本,例如arq API
  • 在此版本中,部分实施了针对cyborg的策略刷新(带有作用域的RBAC)(设备配置文件API),我们在基本策略和device_profile策略中实现了新的默认规则,并为所有策略添加了基本测试框架。对于向后兼容性,将旧规则保留为不推荐使用的规则,并使用与当前相同的默认值,以便现有部署将保持原样运行。实施所有功能后,我们将为用户提供两个周期的过渡期。

Glance - 镜像服务

Glance(OpenStack Image Service)是一个提供发现,注册,和下载镜像的服务。Glance 提供了虚拟机镜像的集中存储。通过 GlanceRESTful API,可以查询镜像元数据、下载镜像。虚拟机的镜像可以很方便的存储在各种地方,从简单的文件系统到对象存储系统(比如 OpenStack Swift)。

Notes:

  • 增强了多个商店功能,管理员现在可以设置策略以允许用户复制其他租户拥有的镜像
  • 概览允许配置多cinder存储
  • 一目了然的RBDFilesystem驱动程序现在支持稀疏镜像上传
  • 增强了RBD驱动程序块上传镜像

Horizon - 图形化管理服务

HorizonOpenstack 提供一个 WEB 前端的管理界面 (UI 服务 )通过 Horizon 所提供的 DashBoard 服务 , 管理员可以使用通过 WEB UIOpenstack 整体云环境进行管理 , 并可直观看到各种操作结果与运行状态。

Notes:

  • Horizon中显示的错误消息现在包含更多详细信息。以前,GUI用户无法了解操作的详细原因,但是用户现在可以从后端服务中查看详细信息,以便他们可以解决原因。
  • 添加了一个新选项卡,该选项卡显示有关卷和卷快照的消息。用户可以了解针对相应卷或快照发生的详细事件。
  • 增加了对扩展在用卷的支持。用户现在可以通过horizon扩展在用卷。

Ironic - 裸金属服务

Ironic包含一个API和多个插件,用于安全性和容错性地提供物理服务器。它可以和nova结合被使用为hypervisor驱动,或者用bifrost使用为独立服务。默认情况下,它会使用PXEIPMI去与裸金属机器去交互。Ironic也支持使用供应商的插件而实现额外的功能。

Notes:

  • 部署步骤工作将基本部署操作分解为多个步骤,现在还可以包括部署时支持的RAIDBIOS接口的步骤。
  • 一个agent电源接口支持在没有基板管理控制器的情况下进行资源调配操作。
  • 现在可以将Ironic配置为进行HTTP Basic身份验证,而无需其他服务。
  • 添加了对Redfish虚拟介质的基于DHCP的部署的初始支持。

Kolla - 容器化部署OpenStack服务

kolla 的使命是为 openstack 云平台提供生产级别的、开箱即用的交付能力。kolla 的基本思想是一切皆容器,将所有服务基于 Docker 运行,并且保证一个容器只跑一个服务(进程),做到最小粒度的运行 docker

Notes:

  • 添加了对Ubuntu Focal 20.04的支持。
  • 添加了对后端API服务的TLS加密的附加支持,从而提供了API流量的端到端加密。
  • 增加了对核心OpenStack服务的容器健康检查的支持。
  • 添加了对etcdTLS加密的支持。
  • 改善了Ansible Playbook的性能和可伸缩性。
  • 增加了对将NeutronMellanox InfiniBand集成的支持。
  • Kayobe添加了对在neutron上部署自定义容器的支持。

Kuryr - OpenStack容器网络

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

Notes:

  • Kuryr将不再使用注释在k8s api中存储关于OpenStack对象的数据。而是创建了一个相应的CRD,即KuryrPortKuryrLoadBalancerKuryrNetworkPolicy
  • 现在,INFO级别的日志应该更加简洁。
  • 增加了在嵌套设置中自动检测虚拟机桥接接口的支持。

Manila - 文件共享服务

Manila项目全称是File Share Service,文件共享即服务。是OpenStack大帐篷模式下的子项目之一,用来提供云上的文件共享,支持CIFS协议和NFS协议。

Notes:

  • 租户驱动的共享复制,数据保护,灾难恢复和高可用性的自助服务现已普遍可用并得到完全支持。从API版本2.56开始, X-OpenStack-Manila-API-Experimental创建/升级/重新同步/删除共享副本不再需要header
  • 共享服务器迁移现在作为一个实验性功能提供。共享服务器通过隔离网络路径中的共享文件系统来提供多租户保证。在这个版本中,云管理员能够将共享服务器移动到不同的后端或共享网络。

Neutron - 网络服务

Neutronopenstack核心项目之一,提供云计算环境下的虚拟网络功能。OpenStack网络(neutron)管理OpenStack环境中所有虚拟网络基础设施(VNI),物理网络基础设施(PNI)的接入层。

Notes:

  • 现在可以通过IPv6使用元数据服务。用户现在可以在仅IPv6的网络中使用不带配置驱动器的元数据服务。
  • flat已为分布式虚拟路由器(DVR)添加了对网络的支持。
  • OVN后端增加了对浮动IP端口转发的支持。现在,在Neutron中使用OVN后端时,用户可以为浮动IP创建端口转发。
  • OVN中增加了对路由器可用区域的支持。OVN驱动程序现在可以从路由器的Availability_zone_hints字段中读取,并使用给定的可用区域相应地调度路由器端口。

Nova - 计算服务

NovaOpenStack云中的计算组织控制器。支持OpenStack云中实例(instances)生命周期的所有活动都由Nova处理。这样使得Nova成为一个负责管理计算资源、网络、认证、所需可扩展性的平台。

Notes:

  • Nova支持在同一nova服务器中混合使用绑定和浮动CPU。
  • Nova支持通过提供程序配置文件来自定义计算节点的放置资源清单。
  • 即使使用Glance多存储 配置,Nova也支持 从Ceph RBD群集快速克隆Glance镜像 。
  • Nova支持使用虚拟TPM设备创建服务器。

Octavia - 负载均衡服务

Octaviaopenstack lbaas的支持的一种后台程序,提供为虚拟机流量的负载均衡。实质是类似于trove,调用 nova 以及neutronapi生成一台安装好haproxykeepalived软件的虚拟机,并连接到目标网路。

Notes:

  • 用户现在可以指定侦听器和池接受的TLS版本。用户现在还可以设置其部署可接受的最低TLS版本。
  • Octavia现在使用新的侦听器应用程序层协议协商(ALPN)配置选项来支持TLS上的HTTP/2
  • 现在可以将负载均衡器统计信息同时报告给多个统计信息驱动程序,并支持增量指标。这样可以更轻松地集成到外部度量系统中,例如时间序列数据库。
  • 用于amphora驱动程序的Octavia flavors现在支持将glance image标记指定为flavor的一部分。这允许用户定义Octavia flavor来引导备用的amphora镜像。
  • 负载平衡器池现在支持PROXY协议的版本2。使用TCP协议时,这允许将客户端信息传递到成员服务器。PROXYV2提高了使用PROXY协议与成员服务器建立新连接的性能,尤其是在侦听器使用IPv6的情况下。

Swift - 对象存储服务

Swift 不是文件系统或者实时的数据存储系统,而是对象存储,用于长期存储永久类型的静态数据。这些数据可以检索、调整和必要时进行更新。Swift最适合虚拟机镜像、图片、邮件和存档备份这类数据的存储。

Notes:

  • 改进了读取纠错码数据时的第一字节延迟。
  • 当使用单独的复制网络运行时,后台守护程序和代理服务器之间的隔离度增加。
  • 我们开始看到生产集群从python2下运行Swift过渡到python3

Tacker - NVF管理服务

Tacker是一个在OpenStack内部孵化的项目, 他的作用是NVF管理器,用于管理NVF的生命周期。 Tacker的重点是配置VNF, 并监视他们。如果需要,还可重启和/或扩展(自动修复)NVF。整个进程贯穿ETSIMANO所描述的整个生命周期。

Notes:

  • 实施ETSI NFV-SOL标准功能(生命周期管理,扩展,VNF操作等)。
  • 添加Fenix插件,以使用FenixHeat滚动更新VNF
  • 扩展Kubernetes支持

Vitrage - 平台问题定位分析服务

Vitrage是一个OpenStack RCA(Root Cause Analysis)服务,用于组织、分析和扩展OpenStack的告警和事件,在真正的问题发生前找到根本原因。

Notes:

  • TMF API 639数据源添加新的数据源。
  • 完成验证以验证Vitrage API

RDO快速安装Victoria版本

注意

如果您使用的是非英语语言环境,请确保您/etc/environment已有:

LANG=en_US.utf-8
LC_ALL=en_US.utf-8

如果您的系统满足以下所有前提条件,请继续运行以下命令。

  • CentOS 8上:

    $ sudo dnf update -y
    $ sudo dnf config-manager --enable PowerTools
    $ sudo dnf install -y centos-release-openstack-ussuri
    $ sudo dnf update -y
    $ sudo dnf install -y openstack-packstack
    $ sudo packstack --allinone
    

步骤0:先决条件

软件

最低推荐版本是Red Hat Enterprise Linux(RHEL)7,或者是基于RHELLinux发行版之一(例如CentOSScientific Linux等)版本。x86_64是当前唯一受支持的体系结构。

使用完全限定的域名而不是短名称来为主机命名,以避免Packstack出现DNS问题。

硬件

具有至少16GB RAM的计算机,具有硬件虚拟化扩展功能的处理器和至少一个网络适配器。

网络

如果您打算通过外部网络访问服务器和实例,那么这是正确配置网络设置的好时机。将网卡的静态IP地址和禁用NetworkManager是个好主意。

RHEL 8/CentOS 8上,网络脚本已被弃用,并且默认情况下未安装,因此需要明确安装。

$ sudo dnf install network-scripts -y
$ sudo systemctl disable firewalld
$ sudo systemctl stop firewalld
$ sudo systemctl disable NetworkManager
$ sudo systemctl stop NetworkManager
$ sudo systemctl enable network
$ sudo systemctl start network

步骤1:软件存储库

CentOS 8上,首先需要启用PowerTools存储库。然后,Extras存储库提供启用OpenStack存储库的RPMExtras默认情况下在CentOS 8上处于启用状态,因此您只需安装RPM即可设置OpenStack存储库:

$ sudo dnf config-manager --enable PowerTools
$ sudo dnf install -y centos-release-openstack-ussuri

安装OpenStack Victoria所需要的yum源:

sudo dnf install -y https://repos.fedorapeople.org/repos/openstack/openstack-victoria/rdo-release-victoria-0.el8.noarch.rpm

更新您当前的软件包:

$ sudo dnf update -y

步骤2:安装Packstack安装程序

$ sudo dnf install -y openstack-packstack

步骤3:运行Packstack来安装OpenStack

Packstack使您无需手动设置OpenStack。对于单节点OpenStack部署,请运行以下命令:

$ sudo packstack --allinone

如果您以前运行过Packstack,则主目录中将有一个名为的文件,您packstack-answers-20130722-153728.txt可能会希望使用--answer-file选项使用该文件,以便您已经设置的所有密码(例如mysql)都将被重用。 。

安装程序将要求您输入网络上要安装的每个主机节点的root密码,以启用主机的远程配置,以便可以使用Puppet远程配置每个节点。

该过程完成后,您可以转到,登录到OpenStack Web界面http://$YOURIP/dashboard。用户名是admin。可以在控制节点目录中的文件/root/keystonerc_admin中找到该密码。

下一步

现在您的单节点OpenStack实例已启动并正在运行,您可以继续阅读有关配置浮动IP范围,配置RDO以与现有网络配合使用,或通过添加计算节点来扩展安装的内容。

写在最后

十年风雨,OpenStack经历了很多。有过登顶的荣誉也有过风言风语的低谷,但OpenStack依然坚持至今。今天OpenStack更务实,更稳定,也更可靠。OpenStack已然成为云基础设施的标准解决方案。

OpenStack如今遍布各个领域,人工智能,大数据,物联网等等。,对待新趋势的看法也决定着OpenStack的未来。OpenStack不仅是一群项目的合集,更是一个有一群人可以建言献策的开放社区,可以结合应用与需求谈发展方向。在此也忠心祝愿OpenStack能够更好,更稳的发展。

参考:

https://www.stackalytics.com/

https://releases.openstack.org/victoria/highlights.html

https://www.rdoproject.org/install/packstack/

作者:祝祥
原文链接:https://blog.tyun.cn

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Karen110 Karen110
3年前
一篇文章带你了解JavaScript日期
日期对象允许您使用日期(年、月、日、小时、分钟、秒和毫秒)。一、JavaScript的日期格式一个JavaScript日期可以写为一个字符串:ThuFeb02201909:59:51GMT0800(中国标准时间)或者是一个数字:1486000791164写数字的日期,指定的毫秒数自1970年1月1日00:00:00到现在。1\.显示日期使用
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这