最简单的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"查看到

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值