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

 

4 设定时区:

 

dpkg-reconfigure tzdata
选择Asia -> 在选择Shanghai -> OK

 

同步时间命令:

sudo apt-get install ntpdate // 安装时间同步工具
sudo ntpdate cn.pool.ntp.org // 与网络服务器同步时间
date // 查看时间是否已经同步

同步完毕后

reboot

 

5  pip更换为豆瓣源

mkdir .pip
vi .pip/pip.conf

增加如下内容:

[global]

index-url = http://pypi.douban.com/simple/

trusted-host = pypi.douban.com

 

升级pip,其他:(安装最新的u版本以后版本时,可以不安装,因为u版之后的openstack已经取消了对python2.7的支持,在devstack脚本里会自动安装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

sudo chmod -R 777 /opt/stack

#sudo echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

 

9 切换到stack用户,以后直到openstack安装成功前都在stack用户下,

sudo su - stack

# mkdir ~/.ssh; chmod 700 ~/.ssh

# echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyYjfgyPazTvGpd8OaAvtU2utL8W6gWC4JdRS1J95GhNNfQd657yO6s1AH5KYQWktcE6FO/xNUC2reEXSGC7ezy+sGO1kj9Limv5vrvNHvF1+wts0Cmyx61D2nQw35/Qz8BvpdJANL7VwP/cFI/p3yhvx2lsnjFE3hN8xRB2LtLUopUSVdBwACOVUmH2G+2BWMJDjVINd2DPqRIA4Zhy09KJ3O1Joabr0XpQL0yt/I9x8BVHdAx6l9U0tMg9dj5+tAjZvMAFfye3PJcYwwsfJoFxC8w/SLtqlFX7Ehw++8RtvomvuipLdmWCy+T9hIkl+gHYE4cS3OIqXH7f49jdJf [email protected]" > ~/.ssh/authorized_keys

 

再次以stack身份建立.pip,并变更为豆瓣源

mkdir .pip
vi .pip/pip.conf

写入如下内容:

[global]

index-url = http://pypi.douban.com/simple/

trusted-host = pypi.douban.com

 

10 进入devstack目录,创建local.conf配置文件:

cd devstack

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但是现在trystack.cn网站好像刚刚挂掉了。。。

# 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

# use  github mirror但是现在trystack.cn网站好像刚刚挂掉了。。。

#用gitclone.com吧,git clone https://gitclone.com/github.com/xxx/yyy.git 

GIT_BASE=https://gitclone.com/github.com

NOVNC_REPO=https://gitclone.com/github.com/kanaka/noVNC.git

SPICE_REPO=https://gitclone.com/github.com/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

wget -c https://bootstrap.pypa.io/get-pip.py

 

12 回到/opt/stack/devstack目录下:

 

cd /opt/stack/devstack
 

开始正式安装,建议此步骤新手阶段不要使用putty,而是在服务器使用stack账号进行,用putty远程登陆进行,会由于消息太多造成putty吊死而不知道安装是否成功:

 

./stack.sh
 

如果顺利无报错,根据网络速度,整个过程持续30-60分钟。

安装成功后会有类似显示:https://images2017.cnblogs.com/blog/739632/201801/739632-20180116224009740-403046422.png

 

 

安装成功后,在浏览器输入:  服务器IP地址/dashboard

https://forum.huawei.com/enterprise/zh/data/attachment/forum/202002/19/105009bzmkmpci6u9kkpmk.png

 

如果遇到其他报错,主要是检查local.conf,然后清理上次错误配置./unstack.sh和clean.sh,然后再执行./stack.sh配置,等待完成。如果遇到超时(timeout)错误,直接再次执行./stack.sh

 

 

本文参考了如下文章,特此鸣谢。

https://forum.huawei.com/enterprise/zh/thread-602016.html

https://blog.csdn.net/hunjiancuo5340/article/details/85005995?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

https://www.cnblogs.com/love9527/p/8298959.html

https://blog.csdn.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分支或标签)

猜你喜欢

转载自blog.csdn.net/m0_49212388/article/details/107203024