学校教的版本好老而且不讲完,主包选择自己来。
虽然OpenStack已经陨落,但是玩玩嘛。
系统CentOS Stream 9
OpenStack版本:2024.2 (Dalmatian)
一.前置设置
| 网络配置 | 控制节点controller | 计算节点compute |
| Ens33(NAT) | 192.168.10.10 | 192.168.10.20 |
| Ens36(host-only) | 192.168.20.10 | 192.168.20.20 |
| 网关 | 192.168.10.2 | 无 |
| DNS | 192.168.10.2 | 192.168.20.1 |
| CPU | 2核 | 2核 |
| 内存 | 4G | 4G |
| 硬盘 | 20G | 20G |
1.虚拟网卡网卡配置
在VM要给仅主机虚拟网卡分配子网网段

给虚拟机配置第二块网卡,设置为仅主机模式

然后开机!
2.ip/主机名更改
(一).更改主机名
vi /etc/hostname
#hostname
controller
(二).更改ip地址(可选)
配置两块网卡
[root@AND-controller //] cd /etc/NetworkManager/system-connections/
[root@AND-controller system-connections] ls
ens33.nmconnection ens36.nmconnection
#ens33.nmconnection
[connection]
id=ens33
uuid=6956e818-33ba-3a39-acb6-158c32a9a536
type=ethernet
autoconnect-priority=-999
interface-name=ens33
timestamp=1781000321
[ethernet]
[ipv4]
address1=192.168.10.10/24 #更改ip
gateway=192.168.10.2 #网关
dns=192.168.10.2 #DNS
method=manual #是否自动获取,我们需要改为 manual 手动并添加上面的
[ipv6]
addr-gen-mode=eui64
method=auto
[proxy]

ens36.nmconnection
[connection]
id=ens36
uuid=0fb82c2f-e8d4-38c1-b593-f8142480ce9a
type=ethernet
autoconnect-priority=-999
interface-name=ens36
timestamp=1781000321
[ethernet]
[ipv4]
address1=192.168.20.10/24
dns=192.168.20.1
method=manual
[ipv6]
addr-gen-mode=eui64
method=auto
[proxy]

3.本地NDS解析设置
vi /etc/hosts
#hosts
#添加↓
192.168.10.10 controller
192.168.10.20 compute

4.配置NTP时间同步服务器
我配置的是腾讯的NTP服务器
ntp.tencent.com
下载chrony
yum install -y chrony / dnf install chrony
进入配置文件
vi /etc/chrony.conf
pool setver iburst #server更换为NTP服务器
allow 192.168.10.0/24#更换成你自己的网段

验证一下,看看自己有没有连上
chronyc sources

二.搭建OpenStack控制/计算节点
首先要看看自己的系统
| 操作系统 | 兼容版本 | 维护版本 |
|---|---|---|
| CentOS 7 / RHEL 7 | ? 到 Train | 无 |
| CentOS Stream 8 / RHEL 8 | Ussuri 到 Yoga | 无 |
| CentOS Stream 9 / RHEL 9 | Xena 及后续版本 | 2023.2 Bobcat, 2024.1 Caracal (SLURP), 2024.2 Dalmatia |
1.安装OpenStack包
(一).启用 PowerTools/CRB 仓库
dnf install dnf-plugins-core
dnf config-manager --set-enabled crb
(二).启用OpenStack仓库
dnf install centos-release-openstack-<release>
# <release>内填写版本↓
### 2024.2 Dalmatian
dnf install centos-release-openstack-dalmatian
### 2024.1 Caracal
dnf install centos-release-openstack-caracal
### 2023.2 Bobcat
dnf install centos-release-openstack-bobcat
我选择的是2024.2版
dnf install centos-release-openstack-dalmatian
2.SQL 数据库
安装数据库
dnf install mariadb mariadb-server python3-PyMySQL
进入OpenStack配置数据库
vi /etc/my.cnf.d/openstack.cnf
创建一个 [mysqld] 部分,并将 bind-address 键设置为控制器节点的管理 IP 地址,以允许其他节点通过管理网络访问
[mysqld]
bind-address = you ip
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

启动数据库并设置开机自启
systemctl enable mariadb.service
systemctl start mariadb.service
进行数据库初始化
mysql_secure_installation
3.消息队列
安装软件
dnf install rabbitmq-server
启动消息队列服务并配置它在系统启动时启动
systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service
添加 openstack 用户
rabbitmqctl add_user openstack RABBIT_PASS #RABBIT_PASS改为你自己的密码
Creating user "openstack" ...
赋予权限
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Setting permissions for user "openstack" in vhost "/" ...
4.Memcached服务认证
安装
dnf install memcached python3-memcached
配置文件
vi /etc/sysconfig/memcached
添加控制节点ip
OPTIONS="-l 127.0.0.1,::1,controller"

启动/开机自启
systemctl enable memcached.service
systemctl start memcached.service
5.Etcd键值对
安装Etcd
dnf install etcd
更改配置文件
vi /etc/etcd/etcd.conf

启动/开机自启
systemctl enable etcd
systemctl start etcd
6.克隆虚拟机(计算节点)
1.关机,并克隆

2.改主机名
vi /etc/hostname
#hostname
compute
3.改ip
生成新的uuid
uuidgen

更改两个网卡的uuid
cd /etc/NetworkManager/system-connections/


重启网卡
sudo systemctl restart NetworkManager
验证
nmcli con show

4.配置NTP时间同步
只需要改一条
pool controller iburst #改为controller
验证
chronyc sources

二.安装OpenStakc组件(差不多期末周了,主包先弃坑一下)
1.keystone身份服务
(一).数据库创建