OpenStack-Ansible 部署完全攻略
自上次尝试部署 OSA 已经过去大半年了,之前成功过几次但是最后在生产环境中因为对这个技术栈不够自信最后还是在服务器上用 Proxmox 代替了 Openstack。随着服务器上服务变多,五花八门的需求涌现出来 PVE 的短板开始出现
省略……
准备虚拟机
- deploy (Rocky 10.1)20GiB(系统盘)
- alpha-01 (Rocky 10.1) 120GiB(系统盘) + 100GiB (Cinder-Volume)
我安装的时候选择了 server,有一些软件包并不自带,记得后续手动安装
准备网络环境
确保 deploy 和 alpha-01 在同一个 2 层网络结构,我们这里按照部署教程设置
br-mgmt: 172.29.236.0/22
设置完,我们得到
- deploy:
172.29.236.50/22 - alpha-01:
172.29.236.51/22
💡
这里真的很容易错
I. 初始化部署服务器 (Deployment Host)
💡
我非常建议在部署时 deploy 节点直接使用 root 账户,文档内所有的操作都基于 root 账户。
dnf upgrade升级服务器
# 记得重启
grubby --update-kernel ALL --args selinux=0(推荐)关闭 SELinux
dnf install git chrony openssh-server python3-devel sudo
dnf group install "Development Tools"安装软件依赖(如果电脑没有)
systemctl enable chronyd
systemctl start chronyd同步系统时钟
systemctl stop firewalld
systemctl mask firewalld关闭防火墙
接下来我们要把部署服务器的 ssh 公钥放到被部署的服务器(也就是 alpha-01) 上去。我在这里直接把公钥放到 alpha-01 的 root 下面,这样部署可以简单很多。


安装部署脚本
git clone -b master https://opendev.org/openstack/openstack-ansible /opt/openstack-ansible这个脚本会把 osa 的仓库克隆到 /opt/openstack-ansible 下

切换到 /opt/openstack-ansible,开始 bootstrap 环境
scripts/bootstrap-ansible.sh
II. 初始化 Target 节点
略,记得关闭 SELinux
III (Optional). 对于存储节点,配置后端
参考文档:
OpenStack-Ansible Deployment Guide — openstack-ansible 32.1.0.dev42 documentation