文档章节

devstack —— 单机部署 OpenStack 体验

中场三分
 中场三分
发布于 2017/08/12 23:59
字数 621
阅读 40
收藏 1
点赞 0
评论 0

 

devstack 是一个用来快速部署 OpenStack 的脚本。

使用非常简单,执行 ./stack.sh 即可,但是在安装过程中遇到一些问题会中断,通过不断修正尝试,事后在这里记录一下,希望能帮到看到这篇文章的童鞋。

部署环境:

  • VMware 12
  • Distributor ID:    Ubuntu
    Description:    Ubuntu 16.04.3 LTS
    Release:    16.04
    Codename:    xenial
  • 建议虚拟机设置内存 8G 以上(我开始设置 4G 安装,成功后查看内存只剩下100M)

 

准备

看自己网络情况,可以先设置一下 pip、apt-get 国内的源。

首先 clone 项目到本地

cd /
git clone https://github.com/openstack-dev/devstack.git

执行脚本创建 stack 用户

/devstack/tools/create-stack-user.sh

修改 devstack 目录权限,让 stack 用户可以运行

chown -R stack:stack /devstack
chown -R stack:stack /opt/stack
#有可能会出现无权限访问该目录
chown -R stack:stack /opt/stack/.cache

切换到 stack 用户

sudo su stack

创建 local.conf

vim /devstack/local.conf

参考内容: 

[[local|localrc]]
ADMIN_PASSWORD=password
DATABASE_PASSWORD=password
RABBIT_PASSWORD=password
SERVICE_PASSWORD=password

# 默认是 https://git.openstack.org,如果不能正常访问替换成 Github
GIT_BASE=https://www.github.com
# 一定要设置这个。安装前依赖检查,默认是发现版本不一致的库直接中断脚本。
PIP_UPGRADE=True

 

执行安装脚本

/devstack/stack.sh

 

处理中断问题

脚本执行中途如果有异常导致中断,通常是 pip 依赖或者 git clone 莫名卡住。

pip 依赖的异常通过设置PIP_UPGRADE=True后我没有在遇到过,这里要说一下 git clone 卡住,原因未知,也可能是我网络不稳定。我的处理方式如下:

中断脚本,Ctrl + C 无法中断就另开一个中断查找进程杀掉

ps -ef | grep stack

手动执行 git clone 到指定目录 /opt/stack/ 下。(我猜测,安装前提前 clone 好应该也可以)

提醒一下,如果 local.conf 中没有明确指明,至少会安装以下几个服务的:

https://github.com/openstack/nova.git

https://github.com/openstack/keystone.git

https://github.com/openstack/swift.git

https://github.com/openstack/neutron.git

https://github.com/openstack/glance.git

https://github.com/openstack/cinder.git

https://github.com/openstack/horizon.git

https://github.com/openstack/tempest.git

https://github.com/kanaka/noVNC.git --branch stable/v0.6

处理完问题后,重新执行 stack.sh 前应该需要执行一下 unstack.sh 脚本。(我没有试过不执行 unstack.sh 会怎样)

/devstack/unstack.sh

(如果你想回退所有操作重新安装,执行 clean.sh ,然后按最后的提示可能还需要删除一些目录文件)

总之如果一切顺利,最后,你将看到下图,说明安装完成。

© 著作权归作者所有

共有 人打赏支持
中场三分

中场三分

粉丝 11
博文 6
码字总数 2329
作品 0
海淀
高级程序员
使用devstack在ubuntu server(64)上安装openstack囫囵吞枣式

说要部署一套cloudfoundry v2的代码 欲装cf2先装出一个可用的openstack 哎,惭愧,对linux还是不熟悉,对openstack仅停留在是一个iaas平台的,具体组件架构不知 使用bosh-cli操作bosh server...

qingfeng哥
2014/02/18
0
0
通过devstack自动部署Openstack icehouse 版本

问题导读 1、脚本自动化部署原理是什么? 2、重启虚拟机后,登录 Dashboard 时出现错误,如何解决? 3、stack.sh 执行之 pip-1.4.1 安装失败,怎么办? 本篇主要阐述通过DeveStack 去部署Ope...

剑气满天
2015/08/12
0
0
使用 DevStack 快速搭建 OpenStack 实验环境

安装 OpenStack 对新手来说是个痛苦的过程,尤其是 OpenStack 和它依赖的一些组件在快速发展中,经常出现这个版本 keystone 对不上那个版本 dashboard 类似的情况。如果只是想看看 OpenStac...

liangxiao
2013/06/11
0
0
白皮书:OpenStack与容器的相遇相知(上)

导 读 本文由OpenStack基金会官方发布,来自基金会、用户、厂商的16位专家作者联合撰写,原文请访问:https://www.openstack.org/containers/whitepaper 想象一下,你的任务是从头开始构建整...

lq1ns259ej3okyvk4jf
05/28
0
0
Openstack 性能测试之 Rally

What is Rally Rally 集成了部署、API测试、压力测试功能(如下图),但我们一般用 devstack 部署,tempest 做 API 测试,因此 Rally 常用于模拟高并发场景的压力测试。Rally 测试 openstack ...

koala bear
2015/01/18
0
0
使用devstack部署openstack开发环境

devstack是一套用来给开发人员快速部署Openstack开发环境的脚本,其实对于整个安装过程没有什么好说的,因为脚本写的很完善,全程无脑式安装也没什么大问题,但是因为公司里的网络环境不给力...

YueZheng
2012/08/22
0
1
51CTO《OpenStack极速入门》视频课程上线了!

课程地址: http://edu.51cto.com/course/11184.html 课程目标: 由浅入深、循序渐进地掌握OpenStack体系结构、基础构建,快速构建实验环境。通过全动手的实验,掌握通过命令行和图形化的工具...

dbtrain
06/26
0
0
开源云产业成熟度持续提升,迎接开放基础设施浪潮

进入2018年,中国采用私有云的企业中,80%以上已经应用开源技术。根据中国信息通信研究院于2018年3月发布的《中国云计算开源发展调查报告(2018)》,85.3%被调研企业已经应用了开源技术;企...

云科技时代
06/20
0
0
EasyStack华丽亮相OpenStack Days China

近日,2016年度OpenStack核心会议之一、首次登陆中国内地的OpenStack Days China在北京国家会议中心拉开帷幕。大会获OpenStack基金会授权;由十七位从业于OpenStack领域的意见领袖、志愿者共...

玄学酱
05/21
0
0
OpenStack简介和相关资料 --- 转

最近2个星期在尝试用OpenStack搭建私有云,提供方便的虚拟机部署和管理。写一篇博客记录一下相关资料。 1. OpenStack简介 OpenStack是一个开源软件,它提供了一个部署云的平台。为虚拟计算或...

DongZhang
2012/02/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Centos7通过yum安装nginx

添加源地址(直接install可能不是最新版本的) sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 安装 sudo yum install -y ng......

iplusx
3分钟前
0
0
ef .core Dapper Helper

using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Threading.Tasks; using Dapper; using Dap......

Lytf
5分钟前
0
0
iOS 小笔记

1.以下代码打印什么     __block int val = 10;    void (^blk)(void) = ^{        printf("val=%d\n",val);        };       val = 2;    blk(); /...

风了个1
7分钟前
0
0
【Spring Boot 系列 Spring Boot示例程序】

入门程序步骤,创建一个Maven项目。继承Spring Boot官方提供的父工程。再引入一个Web的应用启动器。 1、选择一个合适的IDEA工具 创建一个Maven工程,并添加如下配置 <parent> <...

HansonReal
8分钟前
0
0
217. Contains Duplicate - LeetCode

Question 217. Contains Duplicate Solution 题目大意:判断数组中是否有重复元素 思路:构造一个set,不重复就加进去,重复返回true,如果数据量大的话,可以用布隆过滤器 Java实现: publ...

yysue
13分钟前
0
0
istio 处理失败 (理论)

Envoy提供了一套开箱即用的选择加入故障恢复功能,可以通过应用程序中的服务进行利用。功能包括: 超时 具有超时预算和重试之间的可变抖动的有界重试 限制并发连接数和对上游服务的请求 对负...

xiaomin0322
14分钟前
0
0
eclipse解决git冲突举例

本地修改了两个文件,提交时提示有冲突,想来应该是没有从远程仓库下载最新代码导致的。通过右击项目 -> Team -> Sychronized WorkSpace,比较本地仓库和远程仓库的异同:   此时没有更好的...

Code辉
22分钟前
0
0
运行.jar后缀的文件

前提必须安装了jdk,正确配置环境变量。 在dos窗口执行以下命令即可。 java -jar C:\Users\10492\Desktop\turn.jar

haha360
25分钟前
0
0
Java程序员如何做代码压力测试?【JWordPress前台项目实战】

代码 pom.xml文件引入包 <dependency><groupId>com.taobao.stresstester</groupId><artifactId>stresstester</artifactId><version>1.0</version></dependency> 编写测试代码 /**......

迷你芊宝宝
29分钟前
0
0
面试宝典-什么是缓存穿透?

缓存穿透是说收到了一个请求,但是该请求缓存里没有,只能去数据库里查询,然后放进缓存。 这里面有两个风险,一个是同时有好多请求访问同一个数据,然后业务系统把这些请求全发到了数据库;...

suyain
35分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部