最简单的OpenStack部署

环境准备

你需要准备一个很干净的ubuntu22,all-in-one部署
最低环境要求:CPU 4core, RAM 12G, disk 20G+30G, 两个网口(ens3,ens6)
这里的环境只适合部署核心服务,若要部署更多的服务,资源要求水涨船高
disk 20G是系统盘
disk 30G是cinder块存储所需的pv,假设为/dev/vdb
ens3是你的管理口,也作为内部网络网口,ens6是你的提供者网络(外部网络)的网口

开始安装

安装依赖工具

apt install git python3-dev libffi-dev gcc libssl-dev

安装Python虚拟环境

apt install python3-venv

创建虚拟环境

python3 -m venv /opt/myenv
source /opt/myenv/bin/activate

保证pip最新

pip install -U pip -i https://pypi.douban.com/simple

安装ansible

pip install 'ansible>=4,<6' -i https://pypi.douban.com/simple

安装kolla-ansible

pip install git+https://opendev.org/openstack/kolla-ansible@stable/zed

准备kolla的配置目录

mkdir /etc/kolla
cp -r /opt/myenv/share/kolla-ansible/etc_examples/kolla/* /etc/kolla/

准备ansible清单

mkdir /root/deploy
cd $_
cp /opt/myenv/share/kolla-ansible/ansible/inventory/* .  # copy all-in-one和multinode两个清单

编辑清单

vim all-in-one # 将localhost ansible_python_interpreter=python放在第一行

安装galaxy依赖

kolla-ansible install-deps 

配置ansible

mkdir /etc/ansible
cat > /etc/ansible/ansible.cfg << EOF
[defaults]
host_key_checking=False
pipeline=True
forks=100
EOF

测试一下ansible

ansible -i all-in-one all -m ping

生成密码

vim /etc/kolla/passwords.yml
kolla-genpwd  # 生成密码

最重要的来了,编辑globals.yml

vim /etc/kolla/globals.yml  # 看看一些配置,并修改默认值
cat /etc/kolla/globals.yml | grep -v '^#' | grep -v '^$'  # 看看我们都配置了什么
---
workaround_ansible_issue_8743: yes
kolla_base_distro: "ubuntu"
kolla_internal_vip_address: "192.168.5.27"
network_interface: "ens3"
neutron_external_interface: "ens6"
enable_haproxy: "no"
enable_cinder: "yes"
enable_cinder_backend_lvm: "yes"  # 由此可知我们使用LVM作为块存储
nova_compute_virt_type: "qemu"  # 在虚拟机上部署时,需要将默认值kvm改为qemu

创建卷组,用于cinder

vgcreate cinder-volumes /dev/vdb

kolla-ansible开始部署openstack

kolla-ansible -i all-in-one bootstrap-servers  # 引导服务器
kolla-ansible -i all-in-one prechecks  # 部署前检查,有错误解决错误
kolla-ansible -i all-in-one deploy  # 部署

安装OpenStack客户端

pip install python-openstackclient -c https://releases.openstack.org/constraints/upper/zed

收尾

kolla-ansible post-deploy  # 创建/etc/kolla/clouds.yaml
cp /etc/kolla/clouds.yaml /etc/openstack/

结果验证

使用浏览器登录你的IP,如192.168.5.27
使用clouds.yaml中的kolla-admin用户名和密码即可登录
外部网络使用flat类型,对应br-ex的名称是physnet1 #可通过docker exec -it neutron_openvswitch_agent /bin/bash -c "cat /etc/neutron/plugins/ml2/openvswitch_agent.ini"查看到

你可能感兴趣的:(云计算,openstack)