一个在 Linux 系统上使用 OpenStack 的基础示例和分步指南。
Linux 虚拟化 OpenStack 部署示例
1. 环境准备
- 操作系统: Ubuntu 22.04 / CentOS Stream 9
- 硬件要求:至少 8GB RAM4核 CPU50GB+ 磁盘空间
- 网络: 确保主机有静态 IP,并开放所需端口(如 Dashboard 的 80/443 端口)。
2. 快速部署方法(以 DevStack 为例)
DevStack 是 OpenStack 的快速开发/测试部署工具,适合单节点实验环境。
步骤:
- 安装依赖
bash
sudo apt update sudo apt install git python3-dev python3-pip -y # Ubuntu # CentOS: sudo yum install git python3-devel -y
- 克隆 DevStack 仓库
bash
git clone https://opendev.org/openstack/devstack cd devstack
- 创建配置文件 local.conf
ini
[[local|localrc]] ADMIN_PASSWORD=secretpassword DATABASE_PASSWORD=$ADMIN_PASSWORD RABBIT_PASSWORD=$ADMIN_PASSWORD SERVICE_PASSWORD=$ADMIN_PASSWORD HOST_IP=192.168.1.100 # 替换为实际 IP enable_service horizon enable_service heat h-eng h-api h-api-cfn h-api-cw
- 执行安装脚本
bash
/stack.sh # 安装过程约 30-60 分钟,视网络而定
- 验证安装
访问 Dashboard: http://
命令行验证:
bash
复制
source openrc admin admin openstack compute service list # 查看 Nova 服务状态
3. 生产级部署(以 Kolla-Ansible 为例)
Kolla-Ansible 提供容器化部署,适合多节点生产环境。
步骤:
- 安装依赖
bash
# Ubuntu/Debian sudo apt install python3-venv python3-dev libffi-dev gcc git -y # CentOS sudo yum install python3-devel libffi-devel gcc git -y
- 创建 Python 虚拟环境
bash
python3 -m venv kolla-venv source kolla-venv/bin/activate pip install -U pip pip install 'ansible>=6.0.0' kolla-ansible
- 配置 Ansible
bash
sudo mkdir -p /etc/kolla sudo cp -r kolla-venv/share/kolla-ansible/etc_examples/kolla/* /etc/kolla/ sudo cp kolla-venv/share/kolla-ansible/ansible/inventory/all-in-one .
- 生成密码文件
bash
kolla-genpwd
- 编辑全局配置 /etc/kolla/globals.yml
yaml
kolla_base_distro: "centos" kolla_install_type: "binary" network_interface: "eth0" # 替换为实际网卡名
neutron_external_interface: "eth1" # 公网网卡(可选) enable_openstack_core: "yes" enable_glance: "yes" enable_cinder: "yes"
- 部署 OpenStack
bash
kolla-ansible bootstrap-servers -i all-in-one kolla-ansible deploy -i all-in-one kolla-ansible post-deploy
4. 使用 OpenStack 创建实例
通过 Dashboard 或 CLI 操作:
- 上传镜像
bash
openstack image create "cirros" \ --file cirros-0.6.2-x86_64-disk.img \ --public \ --disk-format qcow2
- 创建网络
bash
openstack network create private-net openstack subnet create --network private-net --subnet-range 192.168.100.0/24 private-subnet
- 启动实例
bash
openstack server create --flavor m1.tiny --image cirros --network private-net test-vm
常见问题与解决
- 网络问题
检查防火墙: sudo ufw disable(测试环境)或开放必要端口。
确保虚拟机的安全组规则允许流量(如 ICMP、SSH)。
- 资源不足
调整 local.conf 中资源配额,或升级节点配置。
- 镜像启动失败
验证镜像格式是否为 qcow2/raw,确保 Glance 服务正常运行。
注意事项
- 测试环境优先: 首次部署推荐使用 DevStack 或 MicroStack(单节点轻量方案)。
- 生产环境: Kolla-Ansible 或 Charms 更合适,需规划高可用性(HA)和 Ceph 存储集成。
- 文档参考: 访问 OpenStack 官方文档获取最新配置指南。