Home

OpenStack 部署笔记

OpenStack 是一个开源云计算平台,核心能力覆盖计算、网络、存储、认证、镜像和编排等模块,适合用于私有云、公有云和混合云场景。本文以实验环境为例,记录使用 DevStack 快速部署 OpenStack 的过程。

如果目标是快速验证功能、学习架构或搭建测试环境,DevStack 是最合适的起点;如果是更正式的生产化部署,则更适合结合 Ansible 等工具进行标准化交付。

部署方式选择

DevStack

DevStack 适合单节点快速部署,主要面向开发、测试和实验环境。优点是安装快、门槛低,能帮助你快速理解 OpenStack 的整体架构和基础组件。

OpenStack-Ansible

OpenStack-Ansible 基于 Ansible,适合做更标准化的部署与配置管理。它能更灵活地控制各组件安装过程,也更便于后续维护和扩展。

PuppetOpenStack

Puppet 方案同样适合自动化部署,但本文不展开,仅作为可选方案记录。

使用 DevStack 部署 OpenStack

虚拟机环境准备

更换国内源

sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak

sudo vim /etc/apt/sources.list

写入以下内容:

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

然后执行更新:

sudo apt-get update
sudo apt-get upgrade

安装基础依赖

先安装时间同步工具:

sudo apt-get install ntpdate

同步时间并检查时钟:

sudo ntpdate cn.pool.ntp.org
date

安装后续需要的基础软件包:

sudo apt-get install bridge-utils git python3-pip -y

安装前后可以用以下命令确认工具是否就绪:

pip -V
git --version

创建部署用户

DevStack 建议使用独立用户运行,这里创建 stack 用户并赋予免密 sudo 权限:

sudo useradd -s /bin/bash -d /opt/stack -m stack
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
sudo su - stack

下载 DevStack

git clone https://opendev.org/openstack/devstack
cd devstack

配置 local.conf

devstack 根目录下创建 local.conf 文件:

vim local.conf

写入以下内容:

[localrc](https://docs.openstack.org/devstack/latest/configuration.html#local-conf)
ADMIN_PASSWORD=duanyd
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD

开始安装

./stack.sh

安装过程可能较长。如果中途因为网络等原因失败,可以在修复问题后再次执行 ./stack.sh

配置环境变量

创建 admin-openrc.sh 文件:

vim admin-openrc.sh

写入以下内容,并根据实际环境修改密码和 IP:

export OS_USERNAME=admin
export OS_PASSWORD=duanyd
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://192.166.66.18/identity
export OS_IDENTITY_API_VERSION=3

安装完成后验证

先查看各服务状态:

sudo systemctl status "devstack@*"

再加载环境变量,并执行基础命令验证:

source admin-openrc.sh
nova service-list
openstack network agent list

最后,通过浏览器访问对应 IP,确认 Horizon 控制台可以正常打开并登录。

Linux VMware LVM 网络 存储 虚拟化