博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Devstack 安装OpenStack Pike版本(单机环境)
阅读量:5025 次
发布时间:2019-06-12

本文共 3599 字,大约阅读时间需要 11 分钟。

问题背景

最近在研究OpenStack的时候,需要对其源代码进行调试,公司服务器上部署的OpenStack环境又不能随意的进行折腾,为了研究的持续性和方便性,就决定再自己的虚拟机上面使用Devstack方式部署一个OpenStack环境起来,搜索各种博客结合着官网的指导,花了2天时间终于把这个事情搞定了,再次分享出这个过程。

环境准备

宿主机:windows 10

虚拟机及其软件见下图:

739632-20180116212443803-1508522531.png

至于这两个软件的安装和配置,如有不懂的可以自行google或者百度。

OpenStack安装

1、更换apt源为阿里源

vim /etc/apt/sources.list(如果没有权限,请使用命令:sudo vim /etc/apt/sources.list)

将文本中的内容替换为下面的内容

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse

2、保存并退出,执行下面的命令:

apt-get updateapt-get upgrade

3、设定时间同步

设定时区:dpkg-reconfigure tzdata
选择Asia -> 再选择Shanghai -> OK

同步时间命令:

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

4、安装pip(此步骤可以省略,因为ubuntu自带的python已经安装了pip的,但是由于系统自带的pip版本可能较低,所以,为了保险起见还是安装一下的好)

apt-get install python-pip(权限不够就执行:sudo apt-get install python-pip)

5、pip更换为豆瓣源

mkdir .pipvim .pip/pip.conf

将下面内容写入:

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

6、下载devstack(这里安装的是pike版本)

git clone https://github.con/openstack-dev/devstack -b stable/pike

7、创建stack用户

devstack/tools/create-stack-user.sh

8、将devstack目录放到/opt/stack下,并设置权限

mv devstack /opt/stackchown -R stack:stack /opt/stack/devstack

9、切换到stack用户,切换用户后,所有的操作都是在stack用户下,直到部署成功都不需要切换用户

su - stack

10、给stack用户配置一样的pip豆瓣源(安装第三方包要快些)

mkdir .pipvim .pip/pip.conf

将下面的内容写入:

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

事实证明:这里也会存在问题,当devstack的requirements文件依赖的远程第三方包的版本,在豆瓣源或者阿里源中找不到匹配版本时,安装是会出错的。当出现这种情况的时候,可以注释掉这个源,如下图所示:

739632-20180116221849787-880530814.png

11、切换到devstack目录下

cd devstack

重要部分

创建local.conf配置文件

vim local.conf

将下面的内容写入:

1 [[local|localrc]]  2 # Define images to be automatically downloaded during the DevStack built process.  3 DOWNLOAD_DEFAULT_IMAGES=False  4 IMAGE_URLS="http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img"  5   6 # use TryStack git mirror  7 GIT_BASE=http://git.trystack.cn  8 NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git  9 SPICE_REPO=http://git.trystack.cn/git/spice/sice-html5.git 10  11  12 # Credentials 13 DATABASE_PASSWORD=admin 14 ADMIN_PASSWORD=admin 15 SERVICE_PASSWORD=admin 16 SERVICE_TOKEN=admin 17 RABBIT_PASSWORD=admin 18 #FLAT_INTERFACE=enp0s3 19  20 HOST_IP=172.18.0.184

HOST_IP=虚拟机IP

12、切换到files目录下,执行下面命令

cd files/wget -c https://github.com/coreos/etcd/releases/download/v3.1.10/etcd-v3.1.10-linux-amd64.tar.gzwget -c https://github.com/coreos/etcd/releases/download/v3.1.7/etcd-v3.1.7-linux-amd64.tar.gz

一次下载不成功请多次执行上面的命令,直到成功为止

13、切回devstack目录下

cd ..

14、运行 ./stack.sh

按照上面的步骤,走到这里,一般情况下,只需要等待命令执行结束,出现下面的图示,就说明devstack的openstack安装成了

739632-20180116224009740-403046422.png

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

至此,devstack部署openstack pike版本就圆满结束了,如又遇到问题的小伙伴可以留言,我会第一时间回复,期待大家一起探讨。

转载于:https://www.cnblogs.com/love9527/p/8298959.html

你可能感兴趣的文章
./是当前目录 ../是当前的上一级目录。上上级就是../../一般绝对路径时候常用...
查看>>
linux支持FTP和SFTP服务【1】
查看>>
树的递归与非递归遍历方法
查看>>
每天一个Linux命令(6):rmdir命令
查看>>
oracle连接的三个配置文件(转)
查看>>
Vim配置文件(Vimrc)
查看>>
RecyclerView 局部刷新(获取viewHolder 去刷新)
查看>>
PHP表单(get,post)提交方式
查看>>
使用vbs或者bat脚本修改IE浏览器安全级别和选项
查看>>
Silverlight入门
查看>>
Silverlight动态调用WEBSERVICE,WCF方法
查看>>
LeetCode 895. Maximum Frequency Stack
查看>>
模仿segmentfault 评论
查看>>
一个简单的日志函数C++
查看>>
Java 8 中如何优雅的处理集合
查看>>
IOS程序的启动过程
查看>>
连接Linux下 XAMPP集成环境中部署的禅道的数据库MariaDB
查看>>
Java操作Excel和Word
查看>>
Oracle 体系结构之ORACLE物理结构
查看>>
ORA-12538: TNS: no such protocol adapter
查看>>