DevStack¶
DevStack 是一系列可扩展的脚本,用于快速搭建基于最新版本(从 git master)的完整 OpenStack 环境。它被交互式地用作开发环境,也是 OpenStack 项目功能测试的基础。
源代码可在 https://opendev.org/openstack/devstack 获取。
警告
DevStack 在安装过程中会对您的系统进行大量更改。请仅在专门用于此目的的服务器或虚拟机上运行 DevStack。
快速入门¶
安装 Linux¶
从干净且最小化的 Linux 系统安装开始。DevStack 尝试支持 Ubuntu 的两个最新 LTS 版本、Rocky Linux 9 和 openEuler。
如果您没有偏好,Ubuntu 24.04 (Noble) 是经过测试最多的,并且可能运行最顺利。
添加 Stack 用户(可选)¶
DevStack 应以非 root 用户身份运行,并启用 sudo(通常,像“ubuntu”或“cloud-user”这样的云镜像的标准登录名就足够了)。
如果您不使用云镜像,可以创建一个单独的 stack 用户来运行 DevStack
$ sudo useradd -s /bin/bash -d /opt/stack -m stack
确保 stack 用户的家目录对所有人都有执行权限,因为基于 RHEL 的发行版会以 700 创建它,而 Ubuntu 21.04+ 则以 750 创建它,这可能在部署期间导致问题。
$ sudo chmod +x /opt/stack
由于此用户将对您的系统进行许多更改,因此它应该具有 sudo 权限
$ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
$ sudo -u stack -i
下载 DevStack¶
$ git clone https://opendev.org/openstack/devstack
$ cd devstack
devstack 仓库包含一个安装 OpenStack 和配置文件的模板的脚本。
创建一个 local.conf¶
在 devstack git 仓库的根目录下创建一个 local.conf 文件,并预设四个密码。
[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
这是开始使用 DevStack 的最低要求配置。
注意
在 devstack 仓库的 samples 目录下有一个示例 local.conf 文件。
警告
在密码中使用字母数字字符,因为使用特殊字符可能会导致某些服务无法正常工作。
开始安装¶
$ ./stack.sh
这需要 15-30 分钟,很大程度上取决于您的互联网连接速度。在此过程中将安装许多 git 树和软件包。
成功!¶
您现在拥有一个可用的 DevStack!恭喜!
您的 devstack 将安装 keystone、glance、nova、placement、cinder、neutron 和 horizon。将提供浮动 IP,虚拟机可以访问外部世界。
您可以访问 horizon 以体验 OpenStack 的 Web 界面,并从那里管理虚拟机、网络、卷和镜像。
您可以在 shell 中 source openrc,然后使用 openstack 命令行工具来管理您的 devstack。
您可以 创建一个虚拟机并 SSH 进入它。
您可以 cd /opt/stack/tempest 并运行配置为与您的 devstack 配合使用的 tempest 测试。
您可以 修改 OpenStack 代码并验证它们。
进一步了解¶
了解更多关于我们的 配置系统,以根据您的需要自定义 devstack。包括对默认 网络 进行调整。
阅读 指南,了解人们的具体设置(注意:指南是某个时间点的贡献,可能不会始终更新到最新的 devstack)。
启用 devstack 插件 以支持额外的服务、功能和配置,这些服务、功能和配置在基本的 devstack 中不存在。
使用 Ansible roles 和 Zuul V3 的 Jobs 在 CI 中使用 devstack。使用此完整迁移 how-to 将您的 devstack Zuul V2 作业迁移到 Zuul V3。
了解 大局,了解我们正在尝试使用 devstack 做什么,并通过 贡献项目 来帮助我们。
如果您是 devstack 的新贡献者,请参考:所以你想贡献…