以下是在 Ubuntu 系统上使用 Kolla 部署 OpenStack 的 基础步骤指南,适合初学者入门实验环境(不推荐直接用于生产)。
🌟 前提条件
- 操作系统:Ubuntu 20.04 LTS 或 22.04 LTS(推荐 20.04)
- 内存:至少 8GB(建议 16GB 或以上)
- 磁盘:至少 50GB 空闲空间
- 网络:能访问外网(下载镜像和包)
- 角色:单节点部署(All-in-One),即控制节点和计算节点在同一台机器
✅ 第一步:系统准备
1. 更新系统
sudo apt update && sudo apt upgrade -y
2. 安装基本工具
sudo apt install -y python3-pip git docker.io python3-venv
3. 启动并启用 Docker
sudo systemctl enable docker
sudo systemctl start docker
4. 将当前用户加入 docker 组(避免每次用 sudo)
sudo usermod -aG docker $USER
退出终端重新登录,使组生效。
✅ 第二步:安装 Kolla 和 Kolla-Ansible
Kolla 使用 Ansible 自动化部署。
1. 创建虚拟环境(推荐)
python3 -m venv kolla-env
source kolla-env/bin/activate
2. 安装 Kolla-Ansible
pip install pip --upgrade
pip install kolla-ansible
注意:Kolla-Ansible 包含了 Kolla 的部署工具和配置。
3. 创建配置目录
sudo mkdir -p /etc/kolla
sudo chown $USER:$USER /etc/kolla
4. 生成密码文件(自动生成所有服务密码)
kolla-genpwd
这会生成
/etc/kolla/passwords.yml,保存所有服务的密码。
✅ 第三步:配置 Kolla
1. 复制 globals.yml 配置文件
cp /kolla-env/share/kolla-ansible/ansible/inventory/* .
cp /kolla-env/share/kolla-ansible/etc/kolla/globals.yml /etc/kolla/
如果找不到路径,可以用
find查找:find / -name "globals.yml" -path "*/kolla-ansible/*" 2>/dev/null
2. 编辑 /etc/kolla/globals.yml
使用编辑器打开:
nano /etc/kolla/globals.yml
修改以下关键配置:
# OpenStack 版本,例如 Wallaby、Xena、Yoga 等
kolla_base_distro: "ubuntu"
kolla_install_type: "source"
openstack_release: "yoga" # 你可以选择稳定版本,如 yoga、zed 等
# 当前主机的 IP 地址(管理网络)
network_interface: "ens33" # 替换为你的网卡名,用 ifconfig 或 ip a 查看
# 外部网络接口(用于浮动 IP)
neutron_external_interface: "ens34" # 如果没有第二块网卡,可暂时不设或用同一块
# 启用 Dashboard(Horizon)
enable_haproxy: "no" # 单节点可关闭 HAProxy
enable_horizon: "yes"
# 配置存储(初学者用本地存储)
glance_backend: "file"
cinder_volume_backend: "lvm" # 如果要用 Cinder,需配置 LVM
💡 小贴士:
openstack_release要与你的 Kolla-Ansible 版本匹配。安装时 pip 会自动选择兼容版本。
✅ 第四步:准备部署环境
1. 检查 Ansible 可达性
kolla-ansible -i all-in-one bootstrap-servers
2. 预检查(检查依赖、端口、配置)
kolla-ansible -i all-in-one prechecks
如果报错,根据提示修复(如关闭防火墙、swap 等)
3. 关闭 Swap(必须)
sudo swapoff -a
# 永久关闭:注释 /etc/fstab 中的 swap 行
✅ 第五步:部署 OpenStack
kolla-ansible -i all-in-one deploy
这步耗时较长(10-30分钟),会拉取 Docker 镜像并启动所有服务。
✅ 第六步:生成 Admin RC 文件
部署完成后,生成环境变量文件:
kolla-ansible -i all-in-one post-deploy
会生成 /etc/kolla/admin-openrc.sh
使用它:
source /etc/kolla/admin-openrc.sh
✅ 第七步:验证安装
1. 安装 OpenStack CLI
pip install python-openstackclient
2. 查看服务状态
openstack service list
3. 查看容器状态
sudo docker ps -a
4. 访问 Dashboard
打开浏览器:
http://<你的服务器IP>/dashboard
登录账号:admin 密码:在 /etc/kolla/passwords.yml 中找 keystone_admin_password
🛠️ 常见问题
- Docker 镜像拉取慢:配置国内镜像源(如阿里云)
- 端口被占用:检查 80、53、8080 等是否被占用
- Ansible 报错:确保 Python 环境干净,使用虚拟环境
- Neutron 启动失败:检查网卡配置是否正确
📚 学习建议
- 先在虚拟机(如 VMware/VirtualBox)中练习
- 使用
all-in-one模式熟悉流程 - 成功后再尝试多节点部署
- 阅读官方文档:docs.openstack.org/kolla-ansib…
如果你在某一步遇到具体错误,欢迎贴出错误信息,我可以帮你分析解决。加油!💪