使用RDO Packstack在CentOS 8上安装OpenStack Victoria

 

Openstack是一种免费的开源私有云软件,通过它我们可以使用单个图形化界面和通过openstack cli命令轻松管理数据中心的计算,网络和存储资源。在本文中,我们将演示如何在具有packstack的CentOS 8系统上安装Openstack。Packstack是一个命令行实用程序,可以使用packstack部署openstack的不同组件。

带有packstack的Openstack部署通常用于POC(概念验证)目的,因此不建议将packstack用于生产部署。使用TripleO方法在生产环境中部署OpenStack。

 

OpenStack的最低系统要求

  • 最低CentOS 8

  • 双核处理器

  • 8 GB内存

  • 40 GB可用磁盘空间

  • 稳定的互联网连接

  • 至少一张网卡

  • 主机名 – openstack.example.com

  • IP – 192.168.1.8

  • 网络 – 192.168.1.0/24

让我们深入研究openstack的安装步骤,

 

步骤1)设置主机名并更新/etc/hosts文件

打开终端并使用以下hostnamectl命令设置主机名,

[root@localhost ~]# hostnamectl set-hostname "openstack.example.com"
[root@localhost ~]# exec bash

使用echo命令运行,以在/etc/hosts文件中添加本地解析。

[root@openstack ~]# echo -e "192.168.1.8\topenstack.example.com" >> /etc/hosts

步骤2)禁用NetworkManager并使用network-scripts配置网络

Network-Manager是CentOS 8中用于管理网络的默认工具,但是对于Openstack,我们必须禁用它,因为Openstack网络无法与network-manager一起正常工作。为了替换NetworkManager,我们必须安装network-scripts。

要禁用network-manager,请运行以下命令,

[root@openstack ~]# systemctl disable NetworkManager
[root@openstack ~]# systemctl stop NetworkManager

运行以下dnf命令以安装network-scripts

[root@openstack ~]# dnf install network-scripts -y

一旦安装了network-scripts软件包,我们就可以使用本机network.service管理网络(ifcfg- *文件)

现在让我们在ifcfg-enp0s3文件中配置IP地址并启动网络服务

root@openstack ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

使用RDO Packstack在CentOS 8上安装OpenStack Victoria

保存并退出文件,然后使用以下命令启动网络服务,

[root@openstack ~]# systemctl start network
[root@openstack ~]# systemctl enable network

现在,使用ip命令验证是否已将IP分配给NIC(enp0s3),

[root@openstack ~]# ip a s enp0s3

使用RDO Packstack在CentOS 8上安装OpenStack Victoria

 

步骤3)启用OpenStack repositories并安装packstack工具

在撰写本文时,victoria openstack已经稳定可用,因此请运行以下命令来配置其repositories

[root@openstack ~]# dnf config-manager --enable PowerTools
[root@openstack ~]# dnf install -y centos-release-openstack-victoria

现在,安装所有可用的更新并重新启动系统,

[root@openstack ~]# dnf update -y
[root@openstack ~]# reboot

重新启动后,登录系统,执行以下dnf命令安装packstack工具

[root@openstack ~]# dnf install -y openstack-packstack

 

步骤4)生成答案文件并使用packstack安装openstack

使用packstack命令生成应答文件,

[root@openstack ~]# packstack --gen-answer-file /root/openstack-answer.txt

生成应答文件后,使用vi编辑器编辑以下参数,

[root@openstack ~]# vi /root/openstack-answer.txt
..............
CONFIG_HEAT_INSTALL=y
CONFIG_PROVISION_DEMO=n
CONFIG_KEYSTONE_ADMIN_PW=P@ssw0rd
CONFIG_NEUTRON_OVN_BRIDGE_IFACES=br-ex:enp0s3
..............

保存并退出文件。

根据您的设置替换接口名称(enp0s3)。

注意:默认的“租户”网络类型的驱动器设置为“ genve ”,默认的neutron类型的驱动器设置为“ genveflat ”。如果希望更改这些默认参数,请更新应答文件中的以下几行。在此演示中,我将不更新这些参数。

CONFIG_NEUTRON_ML2_TYPE_DRIVERS=geneve,flat
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=geneve

运行以下命令以使用应答文件开始openstack部署。

[root@openstack ~]# packstack --answer-file /root/openstack-answer.txt

部署大约需要20到30分钟,具体取决于您系统的硬件和互联网速度。成功安装后,我们将获得以下信息:

使用RDO Packstack在CentOS 8上安装OpenStack Victoria

现在,验证是否已将来自enp03接口的IP分配给网桥br-ex,并确认是否已将接口enp0s3作为端口添加到ovs-bridge中。

运行以下命令:

[root@openstack ~]# ip a s enp0s3
[root@openstack ~]# ip a s br-ex
[root@openstack ~]# ovs-vsctl show

使用RDO Packstack在CentOS 8上安装OpenStack Victoria

上面的输出确认安装成功,并且还根据应答文件配置了网络。

 

步骤5)访问Horizon仪表板

现在尝试登录Horizon仪表板。在上面的输出中已经指定了URL,在我的情况下,URL是http://192.168.1.8/dashboard,使用我们在应答文件中指定的用户名admin和密码。

可以可以查看认证文件“ keystonerc_admin ”获取登录凭据

使用RDO Packstack在CentOS 8上安装OpenStack Victoria

使用RDO Packstack在CentOS 8上安装OpenStack Victoria

现在,让我们通过启动一个实例来测试openstack部署。

 

步骤6)通过启动实例测试和验证OpenStack安装

在openstack中启动实例之前,首先必须创建网络,路由器和上传镜像。因此,让我们首先使用以下neutron命令在管理租户中创建外部网络,

[root@openstack ~]# source keystonerc_admin
[root@openstack ~(keystone_admin)]# neutron net-create external_network --provider:network_type flat --provider:physical_network extnet --router:external

现在,通过运行以下neutron命令,将您的flat网络的子网添加到外部网络。

[root@openstack ~(keystone_admin)]# neutron subnet-create --name public_subnet --enable_dhcp=True --allocation-pool=start=192.168.1.210,end=192.168.1.230 --gateway=192.168.1.1 external_network 192.168.1.0/24

通过执行以下neutron命令创建路由器,并使用外部网络设置其网关

[root@openstack ~(keystone_admin)]# neutron router-create dev-router
[root@openstack ~(keystone_admin)]# neutron router-gateway-set dev-router external_network

创建私有网络并将一个子网附加到该私有网络。运行以下neutron命令,

[root@openstack ~(keystone_admin)]# neutron net-create pvt_net
[root@openstack ~(keystone_admin)]# neutron subnet-create --name pvt_subnet pvt_net 10.20.1.0/24

使用以下neutron命令将pvt_net接口添加到路由器“ dev_router ”,

[root@openstack ~(keystone_admin)]# neutron router-interface-add dev-router  pvt_subnet

现在下载Cirros 镜像,然后上传到OpenStack中

[root@openstack ~(keystone_admin)]# wget http://download.cirros-cloud.net/0.5.1/cirros-0.5.1-x86_64-disk.img
[root@openstack ~(keystone_admin)]# openstack image create --disk-format qcow2 --container-format bare --public --file cirros-0.5.1-x86_64-disk.img cirros

现在回到地Dashboard仪表板并验证网络拓扑

使用RDO Packstack在CentOS 8上安装OpenStack Victoria

上面确认了私有和外部网络以及路由器已经正确设置。

创建虚拟机之前的最后一步,更新默认安全组,添加icmp和ssh入口规则,在网络选项卡下单击“安全组”,单击“管理规则”,然后单击“添加规则

使用RDO Packstack在CentOS 8上安装OpenStack Victoria

同样为ssh添加规则

使用RDO Packstack在CentOS 8上安装OpenStack Victoria

点击添加

现在,启动openstack实例的所有要求都已满足。单击计算选项卡,然后选择实例选项,然后单击“启动实例

使用RDO Packstack在CentOS 8上安装OpenStack Victoria

成功启动虚拟机后,我们将获得以下内容,

使用RDO Packstack在CentOS 8上安装OpenStack Victoria

现在,将浮动IP关联到实例(demo_vm),在“操作”选项卡下,选择“关联浮动IP

使用RDO Packstack在CentOS 8上安装OpenStack Victoria

现在选择IP或单击+号从外部网络获取浮动IP,然后将其关联

使用RDO Packstack在CentOS 8上安装OpenStack Victoria

IP与虚拟机关联后,“ IP地址”选项下将显示浮动IP ,如下所示

使用RDO Packstack在CentOS 8上安装OpenStack Victoria

现在尝试使用浮动ip访问此demo_vm,使用cirros作为用户,并使用' gocubsgo '作为密码

使用RDO Packstack在CentOS 8上安装OpenStack Victoria

上面的输出确认我们可以通过浮动ip访问我们的实例。

 

总结

以上已经通过Packstack在最新的CentOS8.2上成功安装好了OpenStack Victoria版本。相对以往,OpenStack从Ussuri开始不再支持Python2,而CentOS8默认为Python3。因此后续的OpenStack版本推荐的系统也将由CentOS7升级为CentOS8。

本次安装过程也遇到一些问题,比如CentOS8开始,默认不再使用network-scripts管理网络,且系统默认也不安装network-scripts相应的软件包。但是对于Openstack,我们必须禁用它,因为Openstack网络无法与network-manager一起正常工作。

 

原创:新钛云服 祝祥

 

上一篇:java-在使用DropWizard JDBI时使用自定义凭据


下一篇:3 个主流 Java 微服务框架