DevStack 部署 OpenStack 单节点
Devstack 简介
DevStack 是一系列可扩展的脚本,用于基于 git master 的最新版本快速调出完整的 OpenStack 环境。devstack 以交互方式用作开发环境和 OpenStack 项目大部分功能测试的基础。
- devstack 通过执行 stack.sh 脚本,搭建 openstack 环境,依据 local.conf 参数,决定提供哪些服务;
- 使用 systemd 来管理 devstack 部署的 OpenStack;
- DevStack 插件。支持额外的 Openstack 服务,以插件接口的概念,扩展 openstack 服务。
官方文档:
https://docs.openstack.org/devstack/latest/
项目地址:
https://opendev.org/openstack/devstack
https://github.com/openstack/devstack
参考文档:
https://docs.openstack.org/devstack/latest/guides/single-machine.html
https://docs.openstack.org/contributors/zh_CN/code-and-documentation/devstack.html
devstack 安装
操作系统要求
从干净且最小化的 Linux 系统安装开始。 DevStack 尝试支持 Ubuntu、Rocky Linux 和 openEuler的两个最新 LTS 版本。如果您没有偏好,Ubuntu 22.04 (Jammy) 是经过最多测试的,并且可能会是最流畅的。
虚拟化引擎说明
OpenStack支持两种主要的虚拟化类型:kvm和qemu。DevStack会根据宿主机的硬件和内核支持自动选择使用KVM还是QEMU作为虚拟化驱动。如果物理机CPU启用了虚拟化或虚拟机CPU启用了嵌套虚拟化功能,则会使用运行性能更好的kvm类型。显式配置方法为在devstack local.conf中指定LIBVIRT_TYPE=kvm参数。
如何确定是否启用可参考 devstack 官方文档 devstack-with-nested-kvm。
网络配置要求
官方说明文档:https://docs.openstack.org/devstack/latest/networking.html
devstack网络设置支持两种方式:
- Dedicated Guest Interface:主机需要多个网卡
- Shared Guest Interface:主机仅需单网卡
注意:本次部署为单网卡模式,所有网络流量经过ens33网卡。由于br-ex网桥配置没有持久化,重启devstack主机br-ex上的IP会丢失,部署完成后会介绍如何持久化配置。
提供浮动IP地址段
确定用于将 OpenStack 云与现有网络集成的接口上的网络配置。例如,如果 DHCP 在您的网络上给出的 IP 是 192.168.72.X - 其中 X 介于 100 和 200 之间,您将能够使用 IP 201-254 作为浮动 ip。
节点规划
基于 ubuntu 22.04 操作系统,使用 Devstack 部署工具搭建 all-in-one 的 OpenStack 开发环境。
主机名 节点IP CPU 内存 磁盘 OS 网卡 devstack 192.168.72.33 8C 16G 100G Ubuntu 22.04 LTS ens33 前置准备
系统更新
root@devstack:~# apt-get update && apt-get upgrade -y
配置主机名
hostnamectl set-hostname devstack
配置时间同步
apt install -y chrony timedatectl set-timezone Asia/Shanghai
配置国内阿里APT源
cp /etc/apt/sources.list{,.bak} sed -i 's#http://cn.archive.ubuntu.com/#http://mirrors.aliyun.com/#g' /etc/apt/sources.list配置国内阿里PIP源,需要切换到stack用户
mkdir ~/.pip cat > ~/.pip/pip.conf /etc/profile.d/proxy.sh} dhcp4: false addresses: [192.168.72.33/24] routes: - to: default via: 192.168.72.8 nameservers: addresses: [223.5.5.5, 223.6.6.6] interfaces: [ens33]


