首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >在 Ubuntu 24.04 上使用 DevStack 实践部署 OpenStack

在 Ubuntu 24.04 上使用 DevStack 实践部署 OpenStack

作者头像
一根头发丝的宽度
发布2026-05-06 19:23:23
发布2026-05-06 19:23:23
2350
举报

在本实践中,将学习如何在 Ubuntu 24.04 上使用 DevStack 部署 OpenStack。部署 OpenStack 有多种不同的方法/工具,例如 Ansible-kolla、openstack-ansible 等。DevStack 是一套脚本和实用程序,用于快速从 git 源代码树部署 OpenStack 云。

云原生时代必备技能:OpenStack作为开源云计算平台的标杆,已成为IT从业者的核心竞争力。但部署过程常让新手望而却步——今天就用DevStack带你一键通关,避开90%的部署深坑!


🌩️ 为什么选择DevStack?

OpenStack部署通常需要复杂的集群配置,但DevStack通过自动化脚本实现了单机快速部署:

  • 闪电部署:从零到完整云平台仅需1条命令
  • 学习神器:完美复现企业级云环境,无硬件成本
  • 版本同步:直接对接OpenStack最新源码
  • 单机友好:笔记本也能跑起私有云平台

💡 血泪教训:本实践融合多次翻车经验,特别针对网络阻塞权限陷阱等高频雷区提供终极解决方案!


🔧 战前准备(避坑重点!)

部署前的准备工作直接决定成功率,这些关键步骤背后都有深刻教训。

系统资源清单

组件

最低要求

推荐配置

为什么重要

CPU

4核

8核

Nova计算服务需要多核支持

内存

8GB

16GB

多个服务同时运行易OOM

磁盘

50GB HDD

100GB SSD

Glance镜像存储需要大空间

如需安装操作系统请访问:如何逐步安装Ubuntu 24.04 服务器(Server)版
致命避坑操作

网络加速(解决99%卡顿)

代码语言:javascript
复制
# Git代理(IP更换为自己的实际地址)
git config --global http.https://github.com.proxy socks5://127.0.0.1:7890

# Wget代理(IP更换为自己的实际地址)
echo'https_proxy=http://127.0.0.1:7890' | sudo tee -a /etc/wgetrc
echo'http_proxy=http://127.0.0.1:7890' | sudo tee -a /etc/wgetrc

# Pip国内源(加速Python依赖下载)
mkdir ~/.pip
cat << EOF > ~/.pip/pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
EOF

为什么关键:DevStack需要从GitHub下载数百个组件,国内直连常因超时失败。代理设置可提速10倍!如果 http/https 代理无效,请使用 socks5 。

专属用户(避免权限灾难)

代码语言:javascript
复制
sudo useradd -s /bin/bash -d /opt/stack -m stack
sudo chmod +x /opt/stack  # 开放目录执行权限
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack

经验之谈:用root直接运行会导致服务启动权限混乱,专用用户能隔离环境,卸载时也能一键清除

国内源加速

代码语言:javascript
复制
sudo sed -i 's|https://archive.ubuntu.com|https://mirrors.pku.edu.cn|g' /etc/apt/sources.list.d/ubuntu.sources
sudo apt update && sudo apt upgrade -y

小技巧:更新后执行apt autoremove清理旧内核,释放磁盘空间


🧙‍♂️ 四步部署魔法详解

每个步骤背后的原理和优化技巧:

🔮 步骤1:切换战场
代码语言:javascript
复制
sudo -u stack -i  # 进入专属用户

为什么重要:保持环境纯净,避免sudo权限污染。使用echo $USER确认当前用户为stack。

📜 步骤2:编写魔咒(local.conf)
代码语言:javascript
复制
[[local|localrc]]
# ====== 密码安全规范 ======
ADMIN_PASSWORD=OpenStack2025!  # 这里修改为你自己的密码,避免使用@等需要转译的特殊字符
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD

# ====== 网络核心配置 ======
HOST_IP=$(ip -4 addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}')

高级技巧

  1. 使用ip命令自动获取本机IP,避免手动输入错误
  2. 添加SERVICE_TIMEOUT=300可解决部分服务启动超时问题
  3. 设置DOWNLOAD_DEFAULT_IMAGES=False跳过Cirros镜像下载(脚本部署时,默认情况下需要通过 wgetgithub下载此文件,后续可手动添加)
⚡ 步骤3:启动咒语
代码语言:javascript
复制
git clone https://opendev.org/openstack/devstack
cd devstack
nohup ./stack.sh > deploy.log 2>&1 &  # 后台运行
tail -f deploy.log  # 实时监控日志

监控要点

  • 看到Installing Python packages表示进入依赖安装阶段
  • Running stack.sh:phase:init标志核心服务开始部署
  • 出现Horizon dashboard enabled即近成功
  • 整个过程根据网络环境的不同,都需要较长的时间,请端上饭碗🥣等待。
🎉 步骤4:验收神迹

当终端出现以下信息即告成功:

代码语言:javascript
复制
Horizon is now available at http://<你的IP>/dashboard
Keystone is serving at http://<你的IP>/identity/

首次登录必做

  1. 管理员登录:用户admin / 密码(local.conf设置)
  2. 创建外部网络:管理员→网络→公共网络
  3. 上传镜像:项目→计算→镜像

🆘 高频故障自救指南

症状

根本原因

急救方案

预防措施

RabbitMQ启动失败

内存不足/端口冲突

sudo systemctl restart rabbitmq-server

分配≥8GB内存

8080端口被占用

已有服务监听

sudo ss -tulnp

grep 8080 → 杀进程

磁盘不足

镜像缓存膨胀

手动清理/opt/stack/.cache

预留100GB空间

登录后白屏

HOST_IP配置错误

核对ip a显示的实际IP

使用动态获取脚本

卡在cirros镜像下载

GitHub连接不稳定

提前下载放至/tmp目录

配置wget代理

Pip安装超时

PyPI源访问慢

检查~/.pip/pip.conf格式

使用阿里云镜像源

💪 黄金建议

  1. 首次失败后执行./unstack.sh && ./clean.sh彻底清理
  2. 使用grep "ERROR" openstack.log快速定位错误
  3. 部署前运行free -h && df -h确认资源状态

🏁 收官寄语:从部署到精通

成功部署只是OpenStack之旅的开始,接下来建议:

资源监控:安装ceilometer组件实现资源计量

代码语言:javascript
复制
# 在local.conf中添加
enable_service ceilometer

网络进阶:尝试创建VXLAN网络隔离租户

存储扩展:集成Ceph分布式存储系统

高可用:研究Ansible-Kolla多节点部署

最后忠告

OpenStack部署是"99%的准备+1%的执行",本文解决的网络、权限、资源配置问题已排除90%的失败风险。当看到Horizon登录界面时,你已战胜大多数挑战者!

云计算的星辰大海已在你眼前展开——登录Dashboard开始创建第一个云主机吧!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-08-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一根头发丝的宽度 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🌩️ 为什么选择DevStack?
  • 🔧 战前准备(避坑重点!)
    • 系统资源清单
    • 如需安装操作系统请访问:如何逐步安装Ubuntu 24.04 服务器(Server)版
    • 致命避坑操作
  • 🧙‍♂️ 四步部署魔法详解
    • 🔮 步骤1:切换战场
    • 📜 步骤2:编写魔咒(local.conf)
    • ⚡ 步骤3:启动咒语
    • 🎉 步骤4:验收神迹
  • 🆘 高频故障自救指南
  • 🏁 收官寄语:从部署到精通
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档