一、基本介绍

本实验是在vmware workstation上虚拟机ubuntu14.04(64bit,desktop)上部署openstack(Juno版本)。采用的工具是openshit。
openshit是github上的一个项目,具体见网址:
https://github.com/windworst/openshit。
注意事项:
1.环境最好是新的ubuntu系统,如果之前用devstack等其他方法在该系统中安装过openstack的话,本次实验可能不成功。
2.ubuntu的源不要改,即/etc/apt/sources.list文件用系统默认的就好。
3.安装openstack之前先更新源。要不然openstack安装过程中会出现一些关于python包无法下载的错误。
4.ubuntu虚拟机的内存最好设置的大一些,我的电脑是8G内存,于是我分给ubuntu4G内存。如果内存较小的话,openstack的安装过程以及安装成功后在web界面上查看时都会比较卡。
5.openshit对ubuntu14.04服务器版和桌面版都支持,本实验选择的是桌面版。
6.如果在执行过程中出错,可以运行下面命令清除已安装的openstack相关配置和组件,并删除openshit文件夹,重新获取openshit,安装即可。

$./openshit.sh --all clean && ./openshit.sh --all uninstall
$cd ..
$sudo rm -rf openshit

二、安装过程详细记录
1.首先更新ubuntu源

$sudo apt-get update
$sudo apt-get upgrade

2.重启,让更新生效

$sudo reboot

3.安装git

$sudo apt-get install git

4.获取openshit

$cd /home
$git clone https://github.com/windworst/openshit.git

5.编辑配置文件setting.conf

openshit下载完后在当前目录下会有一个openshit的文件夹,进入该文件夹,修改setting.conf的权限,使得用户可以对其进行读,写操作。

$cd openshit
$sudo chmod 777 setting.conf
$sudo gedit setting.conf

此时,可以用Ctrl+Alt+T再打开一个终端,输入命令ifconfig查看本主机的ip地址

$ifconfig

由上图可知,本主机的ip地址为192.168.58.141,
在setting.conf文件中,将SET_CONTROLLER_IP,SET_COMPUTE_IP均设为本主机的Ip地址。即:
SET_CONTROLLER_IP=192.168.58.141
SET_COMPUTE_IP=192.168.58.141
此外修改所有的密码,在此,我将所有的密码设置为123456.
最后,附上我修改好的setting.conf文件,供参考(不要直接复制哦)

# This is OpenShit configure file
# All of settings in this file
# Update to Openstack component configure file

# node ip
SET_CONTROLLER_IP=192.168.58.141
SET_COMPUTE_IP=192.168.58.141
SET_INTERFACE_NAME=eth0

#vnc
SET_VNC_IP=$SET_CONTROLLER_IP
SET_VNC_CONNECT_IP=$SET_CONTROLLER_IP

# mysql configure
SET_MYSQL_IP=$SET_CONTROLLER_IP
SET_MYSQL_USER=root
SET_MYSQL_PASS=123456
SET_MYSQL_PORT=3306

# rabbit password
SET_RABBITMQ_IP=$SET_CONTROLLER_IP
SET_RABBITMQ_PASS=123456

# keystone service configure
SET_KEYSTONE_IP=$SET_COMPUTE_IP
SET_KEYSTONE_AUTH_URL=http://$SET_KEYSTONE_IP:35357/v2.0
SET_KEYSTONE_AUTH_URL_PUBLIC=http://$SET_KEYSTONE_IP:5000/v2.0

SET_OS_SERVICE_TOKEN=admin
SET_KEYSTONE_ADMIN_TENANT=admin
SET_KEYSTONE_ADMIN_ROLE=admin
SET_KEYSTONE_ADMIN=admin

SET_KEYSTONE_DBPASS=123456
SET_KEYSTONE_ADMIN_PASS=123456

# glance service configure
SET_GLANCE_IP=$SET_CONTROLLER_IP
SET_GLANCE_DBPASS=123456
SET_GLANCE_PASS=123456

# nova service configure
SET_NOVA_IP=$SET_CONTROLLER_IP
SET_NOVA_DBPASS=123456
SET_NOVA_PASS=123456

# dashboard service configure
SET_DASH_DBPASS=dashboard888

# cinder service configure
SET_CINDER_IP=$SET_CONTROLLER_IP
SET_CINDER_DBPASS=123456
SET_CINDER_PASS=123456

# neutron service configure
SET_NEUTRON_IP=$SET_CONTROLLER_IP
SET_NEUTRON_DBPASS=123456
SET_NEUTRON_PASS=123456
SET_NEUTRON_METADATA_SECRET=123456

# heat service configure
#SET_HEAT_DBPASS=
#SET_HEAT_PASS=

# ceilometer service configure
#SET_CEILOMETER_DBPASS=
#SET_CEILOMETER_PASS=

# trove service configure
#SET_TROVE_DBPASS=
#SET_TROVE_PASS=

6.安装openstack

$echo y | ./openshit.sh --all install

在这个过程中会出现一个紫色的对话框让你输入数据库的密码,该密码跟上文中配置setting.conf文件时输入的密码一样,本实验用的密码是123456。
7.配置

$./openshit.sh --all config

三、安装结果

$source admin-env.sh
$nova service-list

成功的结果应该如下图:

打开浏览器,输入http://host-ip/horizon,
注意:将host-ip替换成你主机的ip,例如本实验应该输入http://192.168.58.141/horizon
浏览器界面:

用户名:admin
密码:123456(根据setting.conf的设置)
进入后界面如下:

至此,用openshit一键安装openstack的过程基本完成。
注意,此时在web界面上的项目一栏中只有计算(compute)而没有网络(network),所以网络部分(neutron)需要再单独安装。

$./openshit.sh neutron install
$./openshit.sh neutron config

现在项目中就有网络(network)了

四、openshit命令补充

基本用法:
进入到openshit文件夹下,可以通过./openshit.sh等命令来对openstack各个组件进行操作。

$./openshit.sh <SERVICE_Name> [aciton]

例如:

$./openshit.sh --all install/uninstall
#注释:安装或卸载所有组件

$./openshit.sh cinder install/uninstall
#注释:安装或卸载cinder [块存储]

$./openshit.sh dashboard install/uninstall
#注释:安装或卸载  [图形界面管理]

$./openshit.sh glance install/uninstall
#注释:安装或卸载 [镜像管理]

$./openshit.sh keystone install/uninstall
#注释:安装或卸载  [身份认证]

$./openshit.sh mysql install/uninstall
#注释:安装或卸载 [数据库]

$./openshit.sh neutron install/uninstall
#注释:安装或卸载 [网络服务]

$./openshit.sh nova install/uninstall
#注释:安装或卸载 [计算]

$./openshit.sh nova-network linstall/uninstall
#注释:安装或卸载 [nova-network]

$./openshit.sh rabbitmq install/uninstall
#注释:安装或卸载 [消息队列]

配置命令

$./openshit.sh --all config

清除

$./openshit.sh --all clean

五、参考文献

1.https://github.com/windworst/openshit
2.http://www.aboutyun.com/thread-11706-1-1.html

使用openshit在ubuntu14.04下一键部署openstack(juno版本)的更多相关文章

  1. ubuntu14.04下nodejs + npm + bower的安装、调试和部署

      1. 简介 本文介绍ubuntu14.04下nodejs+npm+bower的安装.调试和部署 参考文档 https://docs.npmjs.com/getting-started https: ...

  2. Ubuntu14.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu LTS \n \l r ...

  3. Ubuntu14.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu 14.04.4 LTS ...

  4. Ubuntu14.04下Ambari安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)

    不多说,直接上干货! 写在前面的话 (1) 最近一段时间,因担任我团队实验室的大数据环境集群真实物理机器工作,至此,本人秉持负责.认真和细心的态度,先分别在虚拟机上模拟搭建ambari(基于CentO ...

  5. Ubuntu14.04下Mongodb数据库可视化工具安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 前期博客 Ubuntu14.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐) Ubuntu14.04下Mongodb官网安装部署步骤(图 ...

  6. Ubuntu14.04下Mongodb官网卸载部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 前期博客 Ubuntu14.04下Mongodb官网安装部署步骤(图文详解)(博主推荐) https://docs.mongodb.com/manual/tutorial/ins ...

  7. Ubuntu14.04下Mongodb官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 在这篇博客里,我采用了非官网的安装步骤,来进行安装.走了弯路,同时,也是不建议.因为在大数据领域和实际生产里,还是要走正规的为好. Ubuntu14.04下Mongodb(离线安 ...

  8. Ubuntu14.04下Mongodb(在线安装方式|apt-get)安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 本博文介绍了MongoDB,并详细指引读者在Ubuntu下MongoDB的安装和使用.本教程在Ubuntu14.04下测试通过. 一.MongoDB介绍 MongoDB 是一个是 ...

  9. Ubuntu14.04下中山大学锐捷上网设置

    Ubuntu14.04下中山大学锐捷上网设置 打开终端后的初始目录是 -,Ubuntu安装完毕默认路径,不是的请自行先运行cd ~ 非斜体字命令行方法,斜体字是图形管理方法,二选一即可 记得善用Tab ...

随机推荐

  1. postgre 查询同表中的,该节点写的所有子节点

    SELECT catalogid, foldername, parentid, folderpath FROM public.ic_catalog; --查询同表中的,该节点写的所有子节点 WITH ...

  2. Windows下python库的常用安装方法

    目录:       1.pip安装(需要pip)       2.通过下载whl文件安装(需要pip)       3.在pythn官网下载安装包安装(不需要pip)   方法一:pip安装. 这是最 ...

  3. 记一次恐怖的 Integer 溢出

    一不注意, 看起来ok 的地方都出问题了! 后来才突然想起,原来是 Integer 溢出啊 这样的代码, 没想到也会出问题. public static final long Cap_Size = 9 ...

  4. springMVC源码学习之获取参数名

    1.入口到参数处理调用流程 入口为spring-webmvc-4.3.18.RELEASE.jar中org.springframework.web.servlet.DispatcherServlet. ...

  5. 浅谈 REST 和 RESTFul API

    RESTFul API的特点: 基于“资源”,数据也好.服务也好,在RESTFul设计里一切都是资源. 无状态.一次调用一般就会返回结果,所有的资源,都可以通过URI定位 URL中通常不出现动词,只有 ...

  6. c#从基础学起string.Join(",", keys.ToArray())

    总感觉自己工作6年了,经验丰富.直到近期报了一个.net进阶班才知道.我还差得很远.就拿string.join对比 我的代码: public static int InsertModel<T&g ...

  7. 重置mysql5.7密码

    其实想要重置 5.7 的密码很简单,就一层窗户纸: 1.修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动时不 ...

  8. APP-2-Hbuilder开发环境搭建

    1.Hbuilder下载 http://www.dcloud.io/hbuilderx.html 2.夜神模拟器下载 https://www.yeshen.com/ 3.chrome浏览器下载 htt ...

  9. ABAP-串口通信-道闸设备

    最近SAP系统需要与道闸设备集成,通过串口通讯模式控制道闸栏杆升降,在此将开发过程中的思路及问题点做个备注. 一.相关设备 道闸设备型号:富士智能FJC-D618 串口模块:康耐德 C2000-A1- ...

  10. leetcode解题报告 32. Longest Valid Parentheses 动态规划DP解

    dp[i]表示以s[i]结尾的完全匹配的最大字符串的长度. dp[] = ; ; 开始递推 s[i] = ')' 的情况 先想到了两种情况: 1.s[i-1] = '(' 相邻匹配 这种情况下,dp ...