Ubuntu18.04Lts下使用Devstack安装单节点Openstack最新版本
官方安装手册:https://docs.openstack.org/devstack/latest/,由于官方版本的源都是外国的,网络时延大,所以安装过程中出现很多问题,需要更换为国内源。
另外,openstack严重依赖于devstack版本,经测试,请使用最新版本的openstack版本安装openstack。
本文为单节点安装,如果是多节点,主要是local.conf不同。
1 安装ubuntu18.04lts版本代号为bionic的服务器或者虚拟主机。具体方法请百度。
2 登录后,切换到root用户:
sudo su – root
3 更换ubuntu源为国内源,经过几次测试,最后采用的是清华源:
mv /etc/apt/sources.list /etc/apt/sources.list.bak
vim /etc/apt/sources.list
增加如下内容:
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
更新ubuntu18.04:
apt update -y
apt upgrade –y
更新完毕后
reboot
4 设定时区:
dpkg-reconfigure tzdata
选择Asia -> 在选择Shanghai -> OK
同步时间命令:
sudo apt-get install ntpdate // 安装时间同步工具
sudo ntpdate cn.pool.ntp.org // 与网络服务器同步时间
date // 查看时间是否已经同步
5 pip更换为豆瓣源
mkdir .pip
vi .pip/pip.conf
增加如下内容:
[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com
升级pip,其他:(或可以不安装,因为在脚本里会自动安装python3.6)
apt install python-pip
pip install --upgrade pip
pip install -U os-testr
pip –V
查看安装的pip版本,现在是20.1.1
6 下载devstack,这里目录为~,且下载的为最新版本 。开始指定过stein版本,但是经反复安装,发现由于devstack和openstack的版本不统一以及对python pip版本的依赖,安装不成功。建议按照官方文档的方法,直接下载devstack最新版本为好。
git clone https://github.com/openstack-dev/devstack
注1
7 创建stack用户
devstack/tools/create-stack-user.sh
8 将devstack目录放在/opt/stack下,并设置权限
mv devstack /opt/stack
chown -R stack:stack /opt/stack/devstack
9 切换到stack用户,以后直到openstack安装成功前都在stack用户下,
sudo su – stack
当前目录为: /opt/stack/devstack
再次以stack身份建立.pip,并变更为豆瓣源
mkdir .pip
vi .pip/pip.conf
写入如下内容:
[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com
10 创建local.conf配置文件
vi local.conf
写入以下内容:
[[local|localrc]]
# Define images to be automatically downloaded during the DevStack built process.
DOWNLOAD_DEFAULT_IMAGES=False
IMAGE_URLS="http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img"
# 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/sice-html5.git
# Credentials
DATABASE_PASSWORD=admin
ADMIN_PASSWORD=admin
SERVICE_PASSWORD=admin
SERVICE_TOKEN=admin
RABBIT_PASSWORD=admin
#FLAT_INTERFACE=enp0s3
HOST_IP=***.***.***.***
enable_service placement-api
enable_service placement-client
注意:***.***.***.***=服务器或者虚拟主机 ip. 使用“sudo ifconfig -a”查询
11 切换到/files目录,手工下载 etcd,cirros,网络原因下载较慢,建议手动下载放入/opt/stack/devstack/files
cd files/
wget -c https://github.com/coreos/etcd/releases/download/v3.3.12/etcd-v3.3.12-linux-amd64.tar.gz
wget -c http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
wget -c https://github.com/coreos/etcd/releases/download/v3.1.10/etcd-v3.1.10-linux-amd64.tar.gz
wget -c https://github.com/coreos/etcd/releases/download/v3.1.7/etcd-v3.1.7-linux-amd64.tar.gz
12 回到/opt/stack/devstack目录下:
cd /opt/stack/devstack
开始正式安装,建议此步骤新手阶段不要使用putty,而是在服务器使用stack账号进行,用putty远程登陆进行,会由于消息太多造成putty吊死而不知道安装是否成功:
./stack.sh
如果顺利无报错,根据网络速度,整个过程持续30-60分钟。
安装成功后会有类似显示:
安装成功后,在浏览器输入: 服务器IP地址/dashboard
如果遇到其他报错,主要是检查local.conf,然后清理上次错误配置./unstack.sh和clean.sh,然后再执行./stack.sh配置,等待完成。如果遇到超时(timeout)错误,直接再次执行./stack.sh
本文参考了如下文章,特此鸣谢。
https://forum.huawei.com/enterprise/zh/thread-602016.html
https://www.cnblogs.com/love9527/p/8298959.html
https://blog.****.net/qiqishuang/article/details/51990662
注1:(以下是对devstack和openstack版本的说明,很有指导意义:
默认无论是Devstack和OpenStack,都是采用Master的代码进行安装,这样经常会出现,今天安装成功,明天失败,代码时刻在变化。所以我们不仅仅要指定OpenStack的版本,还需要指定Devstack的版本,才能提供安装成功的概率。
apt-get install git
git clone http://git.trystack.cn/openstack-dev/devstack.git -b stable/mitaka
或者
$git clone https://github.com/openstack-dev/devstack.git #克隆devstack的Git代码仓库
cd devstack/
git branch -a #显示本地分支
git checkout -b mitaka origin/stable/mitaka #切换到指定mitaka分支或标签)