基于CentOS Stream 8一键安装OpenStack Yoga版本

主机拓扑

主机名 ip 内存 cpu 硬盘 OS
openstack 192.168.48.100 8G 2v2c 100G+100G CentOS Stream 8

image-20231229212257188

本机镜像可以进入这里下载CentOS-Stream-8-x86_64-latest-boot.iso

注意!Centos Stream 8已经停止更新了,此实验可以用作测试,不可用于生产

网络配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=eui64
NAME=ens160
UUID=025bf07f-8fc9-41eb-b26e-13218b0d434b
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.48.100
PREFIX=24
GATEWAY=192.168.48.2
DNS1=192.168.48.2
DNS2=114.114.114.114

基础配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#设置主机名
hostnamectl set-hostname openstack && bash

#添加本地名称解析
cat >>/etc/hosts << "EOF"
192.168.48.100 openstack
EOF
#关闭防火墙
systemctl disable firewalld --now
sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config
setenforce 0

#值得需要注意的是,openstack不允许使用NetworkManager,而是需要使用Network,所以我们还需要安装Network的服务。
dnf install -y network-scripts
systemctl disable --now NetworkManager
systemctl restart network
systemctl enable --now network

#启用powertools库
dnf config-manager --enable powertools

#重建以下缓存
dnf clean all && dnf makecache

#升级软件包
dnf -y update
reboot

安装openstack

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[root@openstack ~]#  dnf search release-openstack
........
centos-release-openstack-yoga.noarch : OpenStack from the CentOS Cloud SIG repo configs

#安装最新的yoga版本
dnf install -y centos-release-openstack-yoga.noarch

#安装packstack软件包并生成应答文件
dnf install -y openstack-packstack
packstack --gen-answer-file /root/openstack-answer.txt

#修改应答文件
#一键替换,若有其他需要根据需要自行修改其中的值
sed -i 's/CONFIG_HEAT_INSTALL=n/CONFIG_HEAT_INSTALL=y/g; s/CONFIG_PROVISION_DEMO=y/CONFIG_PROVISION_DEMO=n/g; s/CONFIG_NEUTRON_OVN_BRIDGE_IFACES=/CONFIG_NEUTRON_OVN_BRIDGE_IFACES=br-ex:ens160/g' /root/openstack-answer.txt

sed -i 's/CONFIG_KEYSTONE_ADMIN_PW=.*/CONFIG_KEYSTONE_ADMIN_PW=admin/g' /root/openstack-answer.txt

#也可以手动替换
vi /root/openstack-answer.txt
-------------------------
CONFIG_HEAT_INSTALL=y #安装heat模板服务
CONFIG_PROVISION_DEMO=n #我们不要提供的demo项目
CONFIG_KEYSTONE_ADMIN_PW=admin #设置登陆密码
CONFIG_NEUTRON_OVN_BRIDGE_IFACES=br-ex:ens160 #OVN端口映射,就是云主机连接外网时通过那块网卡进行数据包的转发
-------------------------

#开始安装
packstack --answer-file /root/openstack-answer.txt

然后你就可以通过http://192.168.48.100/dashboard访问页面了

特别声明
千屹博客旗下的所有文章,是通过本人课堂学习和课外自学所精心整理的知识巨著
难免会有出错的地方
如果细心的你发现了小失误,可以在下方评论区告诉我,或者私信我!
非常感谢大家的热烈支持!