Kolla 部署 OpenStack 操作指南

145 阅读3分钟

以下是在 Ubuntu 系统上使用 Kolla 部署 OpenStack 的 基础步骤指南,适合初学者入门实验环境(不推荐直接用于生产)。


🌟 前提条件

  1. 操作系统:Ubuntu 20.04 LTS 或 22.04 LTS(推荐 20.04)
  2. 内存:至少 8GB(建议 16GB 或以上)
  3. 磁盘:至少 50GB 空闲空间
  4. 网络:能访问外网(下载镜像和包)
  5. 角色:单节点部署(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 启动失败:检查网卡配置是否正确

📚 学习建议

  1. 先在虚拟机(如 VMware/VirtualBox)中练习
  2. 使用 all-in-one 模式熟悉流程
  3. 成功后再尝试多节点部署
  4. 阅读官方文档:docs.openstack.org/kolla-ansib…

如果你在某一步遇到具体错误,欢迎贴出错误信息,我可以帮你分析解决。加油!💪