openstack 国内网络环境下部署(devstack测试开发环境)
替换apt源
我这里主机用的是ubuntu22.04
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo bash -c 'cat > /etc/apt/sources.list <<EOF
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
EOF'
sudo apt update
安装脚本
#!/bin/bash
sudo apt update
sudo apt install -y git curl python3-pip sudo net-tools unzip
# 配置系统 pip 源
mkdir -p ~/.pip
cat <<EOF | sudo tee ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
timeout = 60
EOF
# Node.js 可能用于 Horizon
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
echo "👤 [1/4] 创建 stack 用户..."
sudo useradd -s /bin/bash -d /opt/stack -m stack || true
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
sudo chown -R stack:stack /opt/stack
sudo chmod +x /opt/stack
echo "📥 [2/4] 下载 DevStack..."
sudo su - stack -c "git clone -b stable/2024.1 https://opendev.org/openstack/devstack.git || true"
echo "⚙️ [3/4] 生成 local.conf 配置..."
HOST_IP=$(hostname -I | awk '{print $1}')
sudo su - stack -c "cat > /opt/stack/devstack/local.conf <<EOF
[[local|localrc]]
ADMIN_PASSWORD=admin
DATABASE_PASSWORD=admin
RABBIT_PASSWORD=admin
SERVICE_PASSWORD=admin
HOST_IP=${HOST_IP}
DATABASE_TYPE=mysql
USE_PYTHON3=True
PIP_UPGRADE=True
PYPI_MIRROR_URL=https://pypi.tuna.tsinghua.edu.cn/simple
GIT_BASE=https://opendev.org
# 限制 pip 安装速度慢问题
export PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
GLANCE_REPO=https://opendev.org/openstack/glance.git
enable_service key mysql rabbit n-novnc
enable_service g-api g-reg
enable_service n-api n-net n-cond n-sch n-cpu placement-api placement-client
enable_service horizon
enable_service cinder c-api c-vol c-sch
enable_service s-proxy s-object s-container s-account
GLANCE_IMAGE_FORMATS=qcow2,raw,vdi,vmdk,vhd,iso
disable_service neutron tempest
# 设置浮动 IP 范围(根据你网段自定义)
FLOATING_RANGE=10.0.2.224/27
FIXED_RANGE=10.0.0.0/24
NETWORK_GATEWAY=10.0.0.1
# 日志配置
LOGFILE=/opt/stack/logs/stack.sh.log
EOF"
# 给 stack 用户配置 pip 源(作用于 venv 安装过程)
sudo su - stack -c 'mkdir -p ~/.pip'
sudo su - stack -c 'echo -e "[global]\nindex-url = https://pypi.tuna.tsinghua.edu.cn/simple\n" > ~/.pip/pip.conf'
echo "🚀 [4/4] 执行安装(这将耗时 10~30 分钟)..."
sudo su - stack -c "cd /opt/stack/devstack && ./stack.sh"




浙公网安备 33010602011771号