部署 DevStack - 每天5分钟玩转 OpenStack(17)

本节按照以下步骤部署 DevStack 实验环境,包括控制节点和计算节点
创建虚拟机
按照物理资源需求创建 devstack-controller 和 devstak-compute 虚拟机
安装操作系统
安装 Ubuntu 14.04,并配置 eth0 的 IP devstack-controller 192.168.104.10 devstak-compute 192.168.104.11
下载代码
下载 devstack 代码,并切换到 stable/liberty 分支
apt-get install git -y
git clone https://git.openstack.org/openstack-dev/devstack -b stable/liberty
配置 stack 用户
创建 stack 用户
devstack/tools/create-stack-user.sh
为方便起见,将devstack目录放到/opt/stack下,并设置权限
mv devstack /opt/stack
chown -R stack:stack /opt/stack/devstack
切换到 stack 用户
su – stack
cd devstack
编写运行配置文件
在 /opt/stack/devstack 目录下,创建 local.conf。
devstack-controller
[[local|localrc]]
MULTI_HOST=true
HOST_IP=192.168.104.10 # management & api network
LOGFILE=/opt/stack/logs/stack.sh.log# Credentials
ADMIN_PASSWORD=admin
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz# enable neutron-ml2-vlan
disable_service n-net
enable_service q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron,q-lbaas,q-fwaas,q-vpn
Q_AGENT=linuxbridge
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=3001:4000
PHYSICAL_NETWORK=defaultLOG_COLOR=False
LOGDIR=$DEST/logs
SCREEN_LOGDIR=$LOGDIR/screen
devstack-compute
[[local|localrc]]
MULTI_HOST=true
HOST_IP=192.168.104.11 # management & api network# Credentials
ADMIN_PASSWORD=admin
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz# Service information
SERVICE_HOST=192.168.104.10
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE_HOST
GLANCE_HOSTPORT=$SERVICE_HOST:9292
Q_HOST=$SERVICE_HOST
KEYSTONE_AUTH_HOST=$SERVICE_HOST
KEYSTONE_SERVICE_HOST=$SERVICE_HOSTCEILOMETER_BACKEND=mongodb
DATABASE_TYPE=mysqlENABLED_SERVICES=n-cpu,q-agt,neutron
Q_AGENT=linuxbridge
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=3001:4000
PHYSICAL_NETWORK=default# vnc config
NOVA_VNC_ENABLED=True
NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_auto.html"
VNCSERVER_LISTEN=$HOST_IP
VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTENLOG_COLOR=False
LOGDIR=$DEST/logs
SCREEN_LOGDIR=$LOGDIR/screen
另外,为了加快安装速度,还可以加上下面的配置使用国内的 devstack 镜像站点
# 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
开始部署
分别在 devstack-controller 和 devstak-compute 上执行命令
./stack.sh
会输出各项操作的结果。 日志会写到 stack.sh.log 文件。
整个过程需要连接Internet,网速慢可能会花较长时间,成功后最后会打印出相关信息。
devstack-controlle 上的输出

devstack-compute 上的输出

验证 OpenStack
下面验证 OpenStack 已经正常运行 浏览器访问 http://192.168.104.10/(devstack-controller 的 IP) admin/admin 登录

点击 System->System Information,确保各个服务的状态正常



这里 cinder-volume 的状态是 “Down”,这是因为我们还没有配置 cinder,后面会让它 Up 起来。

启动 OpenStack
如果重启了系统,OpenStack 不会自动启动,可以运行下面命令
cd devstack ./rejoin-stack.sh
运行成功后,OpenStack 的每个服务都在一个 screen 中以进程方式运行。 使用 screen 有几个好处:
可以方便的在不同服务之间切换和查看日志。 因为OpenStack的服务很多,每个服务都有自己的日志文件。 查找日志是一件非常麻烦的事情,screen可以帮我们提高效率。
当我们修改了某个服务的配置文件需要重启服务时,只需在该服务的 screen 窗口 Ctrl+C,然后在命令行中找到上一个命令(Up键)执行就行,这个命令就是启动服务的命令。

下面是 screen 常用命令
在 screen 中执行
Ctrl+a+n 切换到下一个窗口
Ctrl+a+p 切换到前一个窗口(与 Ctrl+a+n 相对)
Ctrl+a+0..9 切换到窗口 0..9
Ctrl+a+d 暂时断开(detach)当前 screen 会话,但不中断 screen 窗口中程序的运行
在 shell 中执行
screen -ls 列出当前所有的 session
screen -r stack 回到 devstack 这个 session
删除自动创建的网络
Devstack 在部署时可能会创建几个测试网络,为了得到一个干净的环境需将其删除
删除 Router Admin->System->Routers

删除 Network Admin->System->Networks

至此,我们得到了一个干净的 OpenStack 环境。 后面会在这个环境中实践各个模块。

部署 DevStack - 每天5分钟玩转 OpenStack(17)的更多相关文章
- Neutron 物理部署方案 - 每天5分钟玩转 OpenStack(68)
前面我们讨论了 Neutron 的架构,本节讨论 Neutron 的物理部署方案:不同节点部署不同的 Neutron 服务组件. 方案1:控制节点 + 计算节点 在这个部署方案中,OpenStack ...
- 创建 OVS vlan101 并部署 instance - 每天5分钟玩转 OpenStack(139)
前面我们创建了 OVS vlan100 并部署了 instance,今天继续创建 vlan101. subnet IP 地址为 172.16.101.0/24. 底层网络发生了什么变化 Neutron ...
- 创建 vxlan 并部署 instance - 每天5分钟玩转 OpenStack(147)
上一节我们完成了 OVS VxLAN 的配置工作,今天创建 vxlan100_net 并部署 instance. 创建 vxlan100_net 打开菜单 Admin -> Networks,点 ...
- 每天5分钟 玩转OpenStack 目录列表
最近在学习 OpenStack 的相关知识,一直苦于 OpenStack 的体系庞大以及复杂程度,学习没有进度,停滞不前.偶然机会在 51CTO 上发现了一个热点的专题关于 OpenStack 的,题 ...
- 写在最前面 - 每天5分钟玩转 OpenStack(1)
<每天5分钟玩转 OpenStack>是一个 OpenStack 教程,这是第 1 篇. 这个教程有下面两个特点: 系统讲解 OpenStack 从架构到各个组件:从整体到细节逐一讨论 重 ...
- 部署 Helm - 每天5分钟玩转 Docker 容器技术(162)
本节我们将安装和部署 Helm 客户端和 Tiller 服务器. Helm 客户端 通常,我们将 Helm 客户端安装在能够执行 kubectl 命令的节点上,只需要下面一条命令: curl http ...
- 学习 OpenStack 的方法论 - 每天5分钟玩转 OpenStack(150)
作为 OpenStack 的核心教程,我们已经到了最后总结的部分. OpenStack 目前已经有好几十个模块,本教程讨论的是最最重要的核心模块:Keystone,Nova,Glance,Cinder ...
- cloud-init 典型应用 - 每天5分钟玩转 OpenStack(174)
本节介绍几个 cloud-init 的典型应用:设置 hostanme,设置用户初始密码,安装软件. 设置 hostname cloud-init 默认会将 instance 的名字设置为 hostn ...
- 理解 Keystone 核心概念 - 每天5分钟玩转 OpenStack(18)
作为 OpenStack 的基础支持服务,Keystone 做下面这几件事情: 管理用户及其权限 维护 OpenStack Services 的 Endpoint Authentication(认证) ...
随机推荐
- CE修改器修改DNF 测试视频 阿修罗提升智力增加攻击力
使用CE修改器来修改网络游戏,如DNF 测试视频: CE修改器:指的是Cheat Engine,字面上的意思指的是作弊引擎的意思,是一款内存修改编辑工具.通过修改游戏的内存数据来得到一些原本无法实现的 ...
- SpringBoot中yaml配置对象
转载请在页首注明作者与出处 一:前言 YAML可以代替传统的xx.properties文件,但是它支持声明map,数组,list,字符串,boolean值,数值,NULL,日期,基本满足开发过程中的所 ...
- 4.在MVC中使用仓储模式进行增删查改
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-using-the-repository-pattern-in-mvc/ 系列目录: ...
- 【无私分享:ASP.NET CORE 项目实战(第五章)】Repository仓储 UnitofWork
目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 本章我们来创建仓储类Repository 并且引入 UnitOfWork 我对UnitOfWork的一些理解 UnitOfW ...
- JavaWeb_day06_Filter过滤器
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! day06 request 对象常用方法 respon ...
- 项目编码规范(Ali)
一.研发流程规范 二.SQL编码规范 数据库命名规范:数据库名一律小写,必须以字母开头.库名包含多个单词的,以下划线“_”分隔.如果采用分库方案,分库编号从“0”开始,用“0”左补齐为四位. 表名规范 ...
- .NET Core 2.0版本预计于2017年春季发布
英文原文: NET Core 2.0 Planned for Spring 2017 微软项目经理 Immo Landwerth 公布了即将推出的 .NET Core 2.0 版本的细节,该版本预计于 ...
- Lind.DDD.SSO单点登陆组件的使用(原创)
回到目录 一般sso的说明 在Lind.DDD框架里,有对单点登陆的集成,原理就是各个网站去sso网站统一登陆授权,之后在sso网站将登陆的token进行存储,存储方式随你(cache,redis,m ...
- Vue.js 入门指南之“前传”(含sublime text 3 配置)
题记:关注Vue.js 很久了,但就是没有动手写过一行代码,今天准备入手,却发现自己比菜鸟还菜,于是四方寻找大牛指点,才终于找到了入门的“入门”,就算是“入门指南”的“前传”吧.此文献给跟我一样“白痴 ...
- HttpSession与Hibernate中Session的区别
一.javax.servlet.http.HttpSession是一个抽象接口 它的产生:J2EE的Web程序在运行的时候,会给每一个新的访问者建立一个HttpSession,这个Session是用户 ...