如何排除万难去使用DevStack部署OpenStack云环境

想要在你的笔记本电脑上安装并运行OpenStack云,DevStack是强力之选。

DevStack的部署工作花去了我整整一周的时间,其主要难点就在于根本连不上任何资源,每次都以超时断线而告终。最终我解决了这个难点,并把这个曲折的过程写成了一篇文章。

第一步:遵循官网的指引

首先,我们需要一个linux系统。官网提到,如果你没有什么偏好,不如选择Ubuntu 16.04。一开始我在现有的14.04上试了一下,结果DevStack提示不支持14.04。于是我就将14.04升级到了16.04。

有了系统之后,我们需要新建一个用户,因为DevStack需要运行在一个非root并且支持sudo的用户上。以下是快速建立一个用户并赋予sudo权限的命令:

$ 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

这个命令很神奇,它与su的不同之处在于su只切换了用户身份,而su -切换了整个用户环境,当前工作目录和环境变量都变了。

之后便可以下载DevStack了:

$ git clone https://git.openstack.org/openstack-dev/devstack
$ cd devstack

再之后是在当前目录下创建一个配置文件,名为local.conf,其内容如下,设置了4个密码:

[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD

最后便可以运行部署脚本:

$ ./stack.sh

第二步:解决网络问题

运行了stack.sh就结束了吗?不可能的。stack.sh部署过程中会下载很多git仓库和依赖包,其中任何一个都有几率下载不下来,我在这里卡了很久,最后参考了一些前人的资料才成功。

下载内容有三类:一是apt,二是pip,三是DevStack自身的git。

对于apt来说,Ubuntu 16.04的默认源还不错,所以不用担心。

对于pip,问题就大了。解决方法就是换源。我直接修改了/etc/pip.conf文件:

[global]
index-url = http://pypi.douban.com/simple/
trusted-host = pypi.douban.com

这几句话的作用就是把pip的源换成豆瓣源。

接下来还有DevStack自身的git仓库需要解决,这里就要介绍神器出场了:trystack.cn,一个国内的OpenStack镜像站。这里必须要感谢trystack.cn的各位提供者,他们铺了一条平坦的道路供后人前行。

要使用trystack源,需要修改第一步中的local.conf文件,添加如下内容:

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

RECLONE=True

DOWNLOAD_DEFAULT_IMAGES=False
IMAGE_URLS="http://images.trystack.cn/cirros/cirros-0.3.4-x86_64-disk.img"

前三行是设置git相关的源为git.trystack.cn,之后的RECLONE是什么含义我没查到,但估计是再次部署时不用去远程获取git仓库,而是直接使用本地下载好的。

最后两行是禁止下载默认镜像,而是去该url下载,其中cirros是一个极小型的镜像,只有12MB,用于测试。不过很遗憾,在我部署的时候image.trystack.cn是无法访问的,因此我只能设置DOWNLOAD_DEFAULT_IMAGES=True,令其下载默认镜像,该镜像版本是0.3.5,下载的十分缓慢。

现在,我们可以运行./stack.sh了,等待良久后,部署成功完成。如果没完成就再运行一次,源都换成国内的了,总会成功的。

打开浏览器,输入默认的主机地址192.168.1.102,输入用户名admin,密码为之前local.conf中设置的密码,我们便看到了美丽的OpenStack管理界面。

OpenStack管理界面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值