安装文档:https://docs.openstack.org/kolla-ansible/2024.1/user/quickstart.html
查看openstack各个版本:https://releases.openstack.org
一、系统基本设置
单机部署最低配置:
- 2张网卡
- 8G内存
- 40G硬盘空间
实验环境准备:
VMware虚拟机,操作系统Rocky Linux 9最小化安装、本次实验单机部署配置:内存12G、sda为系统盘80G(手动划分三个分区:/boot(1024M)、swap(2.1G)、/(76G))、三网卡、CPU开启虚拟化支持。
新增4块磁盘sdb、sdc、sdd、sde,其中sdb作为cinder卷,sdc、sdd、sde用于swift对象存储。若磁盘资源不足也可以使用一块盘磁盘,创建3个分区。
虚拟机设置如下图所示:
Cinder安装文档:https://docs.openstack.org/kolla-ansible/latest/reference/storage/cinder-guide.html
需要提前创建好cinder使用的卷组:
# lsblk
# pvcreate /dev/sdb
# vgcreate cinder-volumes /dev/sdb
# 查看卷组,如下图所示:
# vgs
Swift安装文档:https://docs.openstack.org/kolla-ansible/latest/reference/storage/swift-guide.html
用于Swift存储的的3块磁盘要进行分区格式化,并打上KOLLA_SWIFT_DATA标签:
# index=0
# for d in sdc sdd sde; do
parted /dev/${d} -s -- mklabel gpt mkpart KOLLA_SWIFT_DATA 1 -1
sudo mkfs.xfs -f -L d${index} /dev/${d}1
(( index++ ))
done
#查看磁盘分区信息,下图以sdc为例:
# parted /dev/sdc p
1.关闭防火墙和selinux
关闭防火墙
# systemctl disable firewalld;systemctl stop firewalld
注:生产环境中,建议开启firewalld.service,并且在globals.yml中配置,不再赘述。
永久关闭selinux,需重启系统后生效。
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
临时关闭selinux,重启系统后失效。
# setenforce 0
2.设置主机名、主机名列表
设置主机名
# hostnamectl set-hostname allinone-kolla
# exit #断开退出,重新连接
设置主机名映射
# cat >> /etc/hosts << EOF
192.168.100.10 allinone-kolla
EOF
3.设置网卡,配置网卡信息
# cd /etc/NetworkManager/system-connections/
# vi ens33.nmconnection
# [ipv4]字段下修改以下行,如果不存在则添加
[ipv4]
method=manual #修改
address=192.168.100.10/24 #新增
# vi ens35.nmconnection
method=none #修改
重启网卡:
# nmcli connection reload #加载配置文件
# nmcli connection down ens33
# nmcli connection up ens33 #重启网卡,重新连接虚拟机
# ip a
# ping 8.8.8.8
4. 设置主机无密钥访问
# cd
# ssh-keygen
# 生成ssh公钥,默认设置即可,按三次回车。
# ssh-copy-id root@allinone-kolla
ssh-copy-id命令可以把本地的ssh公钥文件安装到远程主机对应的账户下。
选择yes,输入root用户、密码。
二、准备部署环境
1、安装基础依赖包
# dnf -y update
# dnf install -y git python3-devel libffi-devel gcc openssl-devel python3-libselinux
2、安装Ansible额外需要的包:
官方文档中没有说明,实际部署过程中,没有这两个包会无法使用pip安装的ansible。
# dnf install -y python3-resolvelib sshpass
3、设置Python-venv虚拟环境
为了防止与系统的python环境冲突,这里使用虚拟环境安装ansible与kolla-ansible
/path/to/venv是虚拟环境的目录,也可以自己指定。
# 创建虚拟环境
# python3 -m venv /path/to/venv
# 进入python虚拟环境
# source /path/to/venv/bin/activate
注:在虚拟环境中输入deactivate命令,即可退出虚拟环境。
更换pip国内源,更新pip
# pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
# pip install -U pip
4、安装ansible
kolla Ansible需要安装的Ansible版本为:最低 8 (或ansible-core 2.15),最高 9 (或 ansible-core 2.16