前言
OpenStack
是一个云操作系统,可控制整个数据中心内的大型计算,存储和网络资源池,所有资源均通过具有通用身份验证机制的API
进行管理和配置。 还提供了一个仪表板,可让管理员进行控制,同时授权其用户通过Web
界面配置资源。 除了标准的基础架构即服务功能外,其他组件还提供业务流程,故障管理和服务管理等其他服务,以确保用户应用程序的高可用性。
Victoria
是2020最后一个OpenStack
版本,新冠疫情并没有对该版本的发布产生太大的影响,作为OpenStack
的第22个版本,如今已经更加稳定,更加强健。官网给出的发布时间是2020年10月12号到16号。预计14号左右发布。当前版本已经可以测试使用。
Redhat
作为开源的社区的霸主,其贡献依然排名第一,国内的华为,99cloud
,中兴,Kylin Cloud
等公司上榜,至2020年10月13号,贡献排名如下图:
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 QAT
和Inspur 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)并改进了现有API
的API
微版本,例如arq API
。 - 在此版本中,部分实施了针对
cyborg
的策略刷新(带有作用域的RBAC
)(设备配置文件API
),我们在基本策略和device_profile
策略中实现了新的默认规则,并为所有策略添加了基本测试框架。对于向后兼容性,将旧规则保留为不推荐使用的规则,并使用与当前相同的默认值,以便现有部署将保持原样运行。实施所有功能后,我们将为用户提供两个周期的过渡期。
Glance - 镜像服务
Glance(OpenStack Image Service)
是一个提供发现,注册,和下载镜像的服务。Glance
提供了虚拟机镜像的集中存储。通过 Glance
的 RESTful API
,可以查询镜像元数据、下载镜像。虚拟机的镜像可以很方便的存储在各种地方,从简单的文件系统到对象存储系统(比如 OpenStack Swift
)。
Notes:
- 增强了多个商店功能,管理员现在可以设置策略以允许用户复制其他租户拥有的镜像
- 概览允许配置多
cinder
存储 - 一目了然的
RBD
和Filesystem
驱动程序现在支持稀疏镜像上传 - 增强了
RBD
驱动程序块上传镜像
Horizon - 图形化管理服务
Horizon
为 Openstack
提供一个 WEB
前端的管理界面 (UI
服务 )通过 Horizon
所提供的 DashBoard
服务 , 管理员可以使用通过 WEB UI
对 Openstack
整体云环境进行管理 , 并可直观看到各种操作结果与运行状态。
Notes:
Horizon
中显示的错误消息现在包含更多详细信息。以前,GUI
用户无法了解操作的详细原因,但是用户现在可以从后端服务中查看详细信息,以便他们可以解决原因。- 添加了一个新选项卡,该选项卡显示有关卷和卷快照的消息。用户可以了解针对相应卷或快照发生的详细事件。
- 增加了对扩展在用卷的支持。用户现在可以通过
horizon
扩展在用卷。
Ironic - 裸金属服务
Ironic
包含一个API
和多个插件,用于安全性和容错性地提供物理服务器。它可以和nova
结合被使用为hypervisor
驱动,或者用bifrost
使用为独立服务。默认情况下,它会使用PXE
和IPMI
去与裸金属机器去交互。Ironic
也支持使用供应商的插件而实现额外的功能。
Notes:
- 部署步骤工作将基本部署操作分解为多个步骤,现在还可以包括部署时支持的
RAID
和BIOS
接口的步骤。 - 一个
agent
电源接口支持在没有基板管理控制器的情况下进行资源调配操作。 - 现在可以将
Ironic
配置为进行HTTP Basic
身份验证,而无需其他服务。 - 添加了对
Redfish
虚拟介质的基于DHCP
的部署的初始支持。
Kolla - 容器化部署OpenStack服务
kolla
的使命是为 openstack
云平台提供生产级别的、开箱即用的交付能力。kolla
的基本思想是一切皆容器,将所有服务基于 Docker
运行,并且保证一个容器只跑一个服务(进程),做到最小粒度的运行 docker
。
Notes:
- 添加了对
Ubuntu Focal 20.04
的支持。 - 添加了对后端
API
服务的TLS
加密的附加支持,从而提供了API
流量的端到端加密。 - 增加了对核心
OpenStack
服务的容器健康检查的支持。 - 添加了对
etcd
的TLS
加密的支持。 - 改善了
Ansible Playbook
的性能和可伸缩性。 - 增加了对将
Neutron
与Mellanox InfiniBand
集成的支持。 - 为
Kayobe
添加了对在neutron
上部署自定义容器的支持。
Kuryr - OpenStack容器网络
Kubernetes Kuryr
是 OpenStack Neutron
的子项目,其主要目标是通过该项目来整合 OpenStack
与Kubernetes
的网络。该项目在 Kubernetes
中实作了原生 Neutron-based
的网络,因此使用 Kuryr-Kubernetes
可以让你的 OpenStack VM
与 Kubernetes Pods
能够选择在同一个子网上运作,并且能够使用 Neutron
的 L3
与 Security Group
来对网络进行路由,以及阻挡特定来源 Port
。
Notes:
- Kuryr将不再使用注释在
k8s api
中存储关于OpenStack
对象的数据。而是创建了一个相应的CRD
,即KuryrPort
,KuryrLoadBalancer
和KuryrNetworkPolicy
。 - 现在,
INFO
级别的日志应该更加简洁。 - 增加了在嵌套设置中自动检测虚拟机桥接接口的支持。
Manila - 文件共享服务
Manila
项目全称是File Share Service
,文件共享即服务。是OpenStack
大帐篷模式下的子项目之一,用来提供云上的文件共享,支持CIFS
协议和NFS
协议。
Notes:
- 租户驱动的共享复制,数据保护,灾难恢复和高可用性的自助服务现已普遍可用并得到完全支持。从
API
版本2.56开始,X-OpenStack-Manila-API-Experimental
创建/升级/重新同步/删除共享副本不再需要header
。 - 共享服务器迁移现在作为一个实验性功能提供。共享服务器通过隔离网络路径中的共享文件系统来提供多租户保证。在这个版本中,云管理员能够将共享服务器移动到不同的后端或共享网络。
Neutron - 网络服务
Neutron
是openstack
核心项目之一,提供云计算环境下的虚拟网络功能。OpenStack
网络(neutron
)管理OpenStack
环境中所有虚拟网络基础设施(VNI
),物理网络基础设施(PNI
)的接入层。
Notes:
- 现在可以通过
IPv6
使用元数据服务。用户现在可以在仅IPv6
的网络中使用不带配置驱动器的元数据服务。 flat
已为分布式虚拟路由器(DVR
)添加了对网络的支持。OVN
后端增加了对浮动IP端口转发的支持。现在,在Neutron
中使用OVN
后端时,用户可以为浮动IP
创建端口转发。- 在
OVN
中增加了对路由器可用区域的支持。OVN
驱动程序现在可以从路由器的Availability_zone_hints
字段中读取,并使用给定的可用区域相应地调度路由器端口。
Nova - 计算服务
Nova
是OpenStack
云中的计算组织控制器。支持OpenStack
云中实例(instances
)生命周期的所有活动都由Nova
处理。这样使得Nova
成为一个负责管理计算资源、网络、认证、所需可扩展性的平台。
Notes:
Nova
支持在同一nova
服务器中混合使用绑定和浮动CPU。Nova
支持通过提供程序配置文件来自定义计算节点的放置资源清单。- 即使使用
Glance
多存储 配置,Nova
也支持 从Ceph RBD
群集快速克隆Glance
镜像 。 Nova
支持使用虚拟TPM
设备创建服务器。
Octavia - 负载均衡服务
Octavia
是 openstack lbaas
的支持的一种后台程序,提供为虚拟机流量的负载均衡。实质是类似于trove
,调用 nova
以及neutron
的api
生成一台安装好haproxy
和keepalived
软件的虚拟机,并连接到目标网路。
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
插件,以使用Fenix
和Heat
滚动更新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,或者是基于RHEL
的Linux
发行版之一(例如CentOS,Scientific Linux等)版本。x86_64是当前唯一受支持的体系结构。
- 有关所需存储库的详细信息,请参见
RDO
存储库(https://www.rdoproject.org/documentation/repositories/)。
使用完全限定的域名而不是短名称来为主机命名,以避免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
存储库的RPM
。Extras
默认情况下在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://releases.openstack.org/victoria/highlights.html
https://www.rdoproject.org/install/packstack/
作者:祝祥
原文链接:https://blog.tyun.cn
来源:oschina
链接:https://my.oschina.net/u/4270607/blog/4675658