文档章节

CentOS7上通过devstack搭建openstack开发环境

锅巴跑跑
 锅巴跑跑
发布于 2016/12/09 11:46
字数 849
阅读 234
收藏 2
点赞 0
评论 0
  1. 安装CentOS 7.0的操作系统
由于devstack在部署的过程中会检查操作系统版本,之前在CentOS 6.5上部署时会报错,需要7.0的环境。
1)	CentOS 7.0 ISO下载地址:
http://101.110.118.38/isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1511.iso
进去之后选择一个源下载即可。
2)	CentOS 7.0具体安装教程参见如下链接:
http://jingyan.baidu.com/article/a3aad71aa180e7b1fa009676.html
  1. 安装GIT
Root权限下使用:yum install git
  1. 下载devstack
cd /opt
git clone http://git.trystack.cn/openstack-dev/devstack.git -b stable/mitaka
  1. 目前Devstack脚本已经不支持直接使用root身份运行,需要创建stack用户运行
cd /opt/devstack/tools
./create-stack-user.sh
chown -R stack:stack /opt/devstack
  1. 配置CentOS的网络和主机名 1) 网络配置不再赘述,和ubuntu下的配置一样配置好静态IP即可; 2) 配置主机名 devstack在部署的过程中会调用hostname –f的shell命令校验主机名,如果不配置主机名,则会部署中断报错。我这里将主机名配置为devstack vi /etc/hosts 输入图片说明

  2. 安装PIP

devstack在安装openstack的时候,如果不提前安装PIP就会遇到 generate-subunit: command not found的问题。
解决方案:
sudo yum -y install epel-release
yum install python-pip
pip install --upgrade pip
pip install -U os-testr
  1. 修改CentOS的yum源
将CentOS自带的yum源更换为国内163的源,能够大大提高部署过程中下载需要的软件的速度。
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.backup
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS6-Base-163.repo CentOS-Base.repo
yum clean all
  1. 修改PIP的更新源
在etc目录下创建pip.conf的pip源配置文件
vi /etc/pip.conf

输入图片说明

  1. 创建配置文件 在/opt/devstack目录下创建local.conf的部署配置文件
[[local|localrc]]

# 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/spice-html5.git

#OFFLINE=True
RECLONE=True

# Define images to be automatically downloaded during the DevStack built process.
DOWNLOAD_DEFAULT_IMAGES=False
IMAGE_URLS="http://images.trystack.cn/cirros/cirros-0.3.4-x86_64-disk.img"

HOST_IP=192.168.7.120


# Credentials
DATABASE_PASSWORD=admin
ADMIN_PASSWORD=admin
SERVICE_PASSWORD=admin
SERVICE_TOKEN=admin
RABBIT_PASSWORD=admin

HORIZON_BRANCH=stable/mitaka
KEYSTONE_BRANCH=stable/mitaka
NOVA_BRANCH=stable/mitaka
NEUTRON_BRANCH=stable/mitaka
GLANCE_BRANCH=stable/mitaka
CINDER_BRANCH=stable/mitaka


#keystone
KEYSTONE_TOKEN_FORMAT=UUID

##Heat
HEAT_BRANCH=stable/mitaka
enable_service h-eng h-api h-api-cfn h-api-cw


## Swift
SWIFT_BRANCH=stable/mitaka
ENABLED_SERVICES+=,s-proxy,s-object,s-container,s-account
SWIFT_REPLICAS=1
SWIFT_HASH=011688b44136573e209e

## Ceilometer
enable_plugin ceilometer http://git.trystack.cn/openstack/ceilometer stable/mitaka

# Enabling Neutron (network) Service
disable_service n-net
enable_service q-svc
enable_service q-agt
enable_service q-dhcp
enable_service q-l3
enable_service q-meta
enable_service q-metering
enable_service neutron

## Neutron options
Q_USE_SECGROUP=True
FLOATING_RANGE="192.168.7.0/24"
FIXED_RANGE="10.0.0.0/24"
Q_FLOATING_ALLOCATION_POOL=start=192.168.7.121,end=192.168.7.126
PUBLIC_NETWORK_GATEWAY="192.168.7.1"
Q_L3_ENABLED=True
PUBLIC_INTERFACE=eth0
Q_USE_PROVIDERNET_FOR_PUBLIC=True
OVS_PHYSICAL_BRIDGE=br-ex
PUBLIC_BRIDGE=br-ex
OVS_BRIDGE_MAPPINGS=public:br-ex

# #VLAN configuration.
Q_PLUGIN=ml2
ENABLE_TENANT_VLANS=True

# Logging
LOGFILE=/opt/stack/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=True
SCREEN_LOGDIR=/opt/stack/logs

输入图片说明 注意这里需要确认下neutron的IP和网卡配置,我安装的CentOS的网卡名称不是常见的eth0而是ens32,配置文件里面要做相应的修改 输入图片说明

  1. 开始部署
切换用户为stack进行安装
su - stack
cd /opt/devstack
./stack.sh

部署成功后如下: 输入图片说明

  1. 界面访问 使用部署成功后的horizon访问地址进行界面访问,需要注意的是,如果是在笔记本本地用浏览器进行访问,会提示页面超时,访问失败,原因是因为CentOS的防火墙过滤掉了访问请求,这里关闭CentOS的防火墙就可以在本地进行访问。
systemctl stop firewalld.service
service iptables stop

输入图片说明

  1. 安装错误记录
出现opt/stack/functions 496: invalid path permission; 
查看上面日志,发现stack文件夹的权限为700,正好报错。使用root对/opt/stack文件进行权限修改,chmod 755 /opt/stack;

© 著作权归作者所有

共有 人打赏支持
锅巴跑跑
粉丝 3
博文 31
码字总数 11004
作品 0
武汉
程序员
openstack 填坑笔记3:vmware 实验环境,虚拟机实例卡在系统引导,不能启动操作系统

在vmware上创建的虚拟机 ,安装ubuntu16.04 server,openstack pike版 devstack安装,都设置好了,就是openstack创建的实例,操作系统不能启动,显示booting from hard disk... 截屏如下: ...

olinbsoft ⋅ 05/09 ⋅ 0

OpenStack Neutron初探

1.什么是OpenStack OpenStack是一个开源的IAAS(基础设施即服务)云计算平台,让任何人都可以自行建立和提供云端运算服务,具体可以从devstack脚本开始熟悉他。OpenStack由一系列相互关联的项...

墨痕hz ⋅ 06/06 ⋅ 0

devstack安装openstack pike

1.环境说明 物理机操作系统:ubuntu-16.04.4-server-amd64 controller:192.168.18.61 ubuntu61 compute:192.168.18.62 ubuntu62 compute:192.168.18.63 ubuntu63 2.修改apt源 vi /etc/ap......

xhx6616 ⋅ 05/24 ⋅ 0

学习笔记:openstack 实验环境安装

学习openstack 安装实验环境,经过诸多挫折,顺利搭建,记录如下,以作备忘。 环境: linux ubuntu16.04.3 , 虚拟机上安装,openstack是由devstack安装 版本stable/pike 两主机,一个是contr...

olinbsoft ⋅ 04/21 ⋅ 0

EasyStack华丽亮相OpenStack Days China

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

玄学酱 ⋅ 05/21 ⋅ 0

搭建本地yum源,离线安装openstack

搭建本地openstack yum源 修改配置文件 /etc/selinux/config 安装单节点openstack 修改repo文件(下面192.168.126.128要换成yum服务的ip) 关闭防火墙,selinux,NetworkManager 修改配置文件...

yjf147369 ⋅ 04/23 ⋅ 0

九州云陈沙克:OpenStack的成功源于自身的开放

OpenStack堪称是继Linux之后开源领域最成功的项目。这个6年前被NASA和RackSpace开放出的云框架,伴随着云计算市场的增长而迅速被广泛传播和认可,其中不乏英特尔等巨头的支持。不过,“人红是...

玄学酱 ⋅ 05/15 ⋅ 0

OpenStack推出最新版本Newton,显著提升单一云平台 对虚拟化、裸机和容器的管理

2016年10月10日-北京- OpenStack社区日前发布其命名为“Newton”的第14个版本。OpenStack是用于构建云的部署最广泛的开源软件。此次推出的新功能包括:Ironic裸机开通服务,Magnum容器编排集...

玄学酱 ⋅ 05/11 ⋅ 0

美国财富百强企业中50%使用 "创新引擎"OpenStack

三分之二的OpenStack部署现已全面进入生产领域,OpenStack人才需求猛涨,OpenStack社区发力可用性、稳定性与人才培训 2016年6月17日-北京- OpenStack基金会日前宣布,美国财富百强公司中50%...

玄学酱 ⋅ 05/22 ⋅ 0

Openstack 之 Prometheus 监控

上面左边是我的个人微信,如需进一步沟通,请加微信。 右边是我的公众号“Openstack私有云”,如有兴趣,请关注。 作为一个生产系统,全面的系统监控是必不可少的一个环节,以前都是使用zab...

余伟兵 ⋅ 06/21 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

个人博客的运营模式能否学习TMALL天猫质量为上?

心情随笔|个人博客的运营模式能否学习TMALL天猫质量为上? 中国的互联网已经发展了很多年了,记得在十年前,个人博客十分流行,大量的人都在写博客,而且质量还不错,很多高质量的文章都是在...

原创小博客 ⋅ 今天 ⋅ 0

JavaScript零基础入门——(十一)JavaScript的DOM操作

JavaScript零基础入门——(十一)JavaScript的DOM操作 大家好,欢迎回到我们的JavaScript零基础入门。最近有些同学问我说,我讲的的比书上的精简不少。其实呢,我主要讲的是我在开发中经常会...

JandenMa ⋅ 今天 ⋅ 0

volatile和synchronized的区别

volatile和synchronized的区别 在讲这个之前需要先了解下JMM(Java memory Model :java内存模型):并发过程中如何处理可见性、原子性、有序性的问题--建立JMM模型 详情请看:https://baike.b...

MarinJ_Shao ⋅ 今天 ⋅ 0

深入分析Kubernetes Critical Pod(一)

Author: xidianwangtao@gmail.com 摘要:大家在部署Kubernetes集群AddOn组件的时候,经常会看到Annotation scheduler.alpha.kubernetes.io/critical-pod"="",以表示这是一个关键服务,那你知...

WaltonWang ⋅ 今天 ⋅ 0

原子性 - synchronized关键词

原子性概念 原子性提供了程序的互斥操作,同一时刻只能有一个线程能对某块代码进行操作。 原子性的实现方式 在jdk中,原子性的实现方式主要分为: synchronized:关键词,它依赖于JVM,保证了同...

dotleo ⋅ 今天 ⋅ 0

【2018.06.22学习笔记】【linux高级知识 14.4-15.3】

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

lgsxp ⋅ 今天 ⋅ 0

JeeSite 4.0 功能权限管理基础(Shiro)

Shiro是Apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权等。 只要有用户参与一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户...

ThinkGem ⋅ 昨天 ⋅ 0

python f-string 字符串格式化

主要内容 从Python 3.6开始,f-string是格式化字符串的一种很好的新方法。与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快! 在本文的最后,您将了解如何以及为什么今...

阿豪boy ⋅ 昨天 ⋅ 0

Python实现自动登录站点

如果我们想要实现自动登录,那么我们就需要能够驱动浏览器(比如谷歌浏览器)来实现操作,ChromeDriver 刚好能够帮助我们这一点(非谷歌浏览器的驱动有所不同)。 一、确认软件版本 首先我们...

blackfoxya ⋅ 昨天 ⋅ 0

线性回归原理和实现基本认识

一:介绍 定义:线性回归在假设特证满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。为了了解这个定义,我们先举个简单的例子;我们假设一个线性方程 Y=2x+1, x变量为商...

wangxuwei ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部