1、 核心思想
目前国内的网络环境要完整无痛的搭建devstack其实是有难度的,故此本文介绍了一套骚操作,将一系列耗时的文件提前下载好,并使用aliyun mirrors和trystack进行加速。在10M左右的网速下,20分钟左右即可搭建好devstack。
本文介绍的办法支持ESXi、VMWare Workstation和VMWare Fusion,其他的hypervisor需要读者确保自己知道如何正确配置虚拟机和网络。
2、 Ubuntu镜像选择
Ubuntu 18.04.3是一个LTS版本,为避免安装时出现各种幺蛾子,不要使用live server版本。
这里给出一个下载地址:
http://cdimage.ubuntu.com/releases/18.04.3/release/ubuntu-18.04.3-server-amd64.iso
3、 网络
// TODO: 这一部分待补充
4、 安装Ubuntu,并配置
注:devstack配置好后将占用4G以上内存,因此最好至少分配8G内存。
// TODO: 待补充安装Ubuntu部分
a) 依次执行:
sudo useradd -s /bin/bash -d /opt/stack -m stack
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
sudo su - stack
git clone http://git.trystack.cn/openstack/devstack
b) 修改Ubuntu源
将/etc/apt/sources.list文件备份后,修改为:
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
修改后执行apt update。
c) 修改pypi源
创建/root/.pip/pip.conf和/opt/stack/.pip/pip.conf文件,内容均为:
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
5、 修改devstack配置文件
a) 下载如下文件
https://raw.githubusercontent.com/openstack/devstack/master/samples/local.conf 。
b) 将其中的ADMIN_PASSWORD、DATABASE_PASSWORD、RABBIT_PASSWORD、SERVICE_PASSWORD改为自己想设置的密码。
c) 将#HOST_IP=w.x.y.z反注释,并将w.x.y.z改为本机的IP地址。
d) 在文件下方加入
# use TryStack git mirror
GIT_BASE=http://git.trystack.cn
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git
(这一步可以将devstack的git源切换到trystack)
e) 将文件复制到/opt/stack/devstack目录。
6、 下载devstack必要文件
目前已知有3个文件下载会耽误安装进度或直接失败。所以要提前下载并复制到/opt/stack/devstack/files目录。
a) get-pip.py
下载地址:
https://bootstrap.pypa.io/get-pip.py
下载后放到/opt/stack/devstack/files目录。
b) etcd-vx.x.x-linux-amd64.tar.gz
下载地址:
https://github.com/etcd-io/etcd/releases/download/vx.x.x/etcd-vx.x.x-linux-amd64.tar.gz
其中vx.x.x部分,在stackrc文件中,查找ETCD_VERSION后面对应的版本字符串替代即可。
下载后放到/opt/stack/devstack/files目录。
c) cirros-x.x.x-x86_64-disk.iso
下载地址:
http://download.cirros-cloud.net/x.x.x/cirros-x.x.x-x86_64-disk.img
其中x.x.x部分,在stackrc文件中,查找CIRROS_VERSION后面对应的版本字符串替代即可。
下载后放到/opt/stack/devstack/files目录。
7、 安装devstack
执行 ./stack.sh,后面的过程就非常流畅了。Enjoy~