10分钟安装OpenStack
OpenStack初学者的苦恼
OpenStack由一套组件构成,安装门槛非常高。虽然有DevStack/RDO/Puppet/Chef/Salt这些自动化安装工具,但这些工具只是方便了熟悉OpenStack的工程师,很多初学者仍然倍受安装门槛的折磨。
为了降低OpenStack学习曲线,我们制作了DevStack镜像,只需要一键执行,就可以安装最新的OpenStack,然后你就可以开始尽情研究OpenStack了,让你信心满满。
OpenStack最低配置要求
OpenStack需要管理网络和虚拟机网络,所以推荐使用双网卡,下面是安装OpenStack的环境要求:
- 操作系统: Ubuntu/CentOS
- 内存: 4GB
- 硬盘: 20GB
- 网络: 双网卡
在进行安装OpenStack之前,你在UOS得有一个账号,现在注册就送10元钱,足够你体验一天了。
配置UOS环境
为了满足OpenStack安装的最低要求,我们需要配置双网卡环境,主要步骤是:
设置网络
创建路由器
创建一个路由器,命名为 dev-route,并开启公网网关。
创建网络
创建一个私有网络,命名为 dev-network。
创建两个子网
创建第1个子网,命名为 public-subnet,选择 dev-network 私有网络,设置网络地址为 192.168.0.0/24。
创建第2个子网,命名为 flat-subnet,选择 dev-network 私有网络,设置网络地址为 172.16.0.0/24。
设置第1个子网 public-subnet 与路由器 dev-route 相关联。
创建UOS虚拟机
创建一台虚拟机(使用 DevStack 镜像),叫做 ustack, 使用“4核CPU,8GB内存”配置,选择私有网络 public-subnet (虚拟机的第1块网卡eth0跟该子网相连接)。
给虚拟机的虚拟机网卡命名为 public-interface。
创建另外一个虚拟网卡,跟子网 flat-subnet 相连接,给这个虚拟网卡命名为 flat-interface。把虚拟网卡 flat-interface 绑定到虚拟机ustack上。
这样,这台虚拟机就有两块网卡:
- eth0: public-interface,跟public-subnet相连
- eht1:flat-interface,跟flat-subnet相连
使用VNC登录虚拟机,查看网卡信息。
现在查看一下网络拓扑图是否正确,我们要保证网卡eth0能够连接公网。
eth0 -> public-interface -> public-subnet -> dev-route -> Public Network
创建公网IP
创建一个公网IP,绑定到虚拟机ustack上的 public-interface 网卡上。
我们尝试在自己的电脑上ping公网IP,但是却ping不通,这是为什么呢?这肯定不是UOS的问题,而是Ubuntu系统的设计造成的,这种情况只会在多网卡时才会出现。# ping 42.62.73.241
当Ubuntu系统发现两块网卡时,会自动设置默认路由走第2块网卡(这是个糟糕的设计),但是我们是把公网IP绑定到第1块网卡上,所以导致无法ping通。解决办法是使用VNC登录虚拟机,然后使用route命令查看并设置虚拟机的路由规则。
先删除旧的默认路由
#route del default gw 172.16.0.1
添加新的默认路由
#route add default gw 192.168.0.1
再次在自己电脑上ping公网IP,直到ping通为止。
修改安全组规则
修改虚拟机安全组中下行规则,增加 TCP 6080端口(用于OpenStack的VNC访问)。
登录虚拟机
使用root用户登录虚拟机,并给stack用户设置密码。
尝试使用stack用户登录虚拟机,验证设置是否正确。
双网卡环境已经配置好了,下面我们可以开始配置DevStack。
配置DevStack
我们已经在你的虚拟机上安装了DevStack,你只需要稍微修改一下配置文件localrc。
# ssh stack@42.62.73.241
stack@ustack:~$
stack@ustack:~$ cd ~/devstack
stack@ustack:~/devstack$
stack@ustack:~/devstack$ vim localrc
修改 localrc 中的 HOST_IP 和 NOVNCPROXY_URL 的值。
FLOATING_RANGE=192.168.100.224/27
FIXED_RANGE=10.10.10.0/24
FIXED_NETWORK_SIZE=256
ADMIN_PASSWORD=root
MYSQL_PASSWORD=root
PULIC_INTERFACE=eth0
FLAT_INTERFACE=eth1
RABBIT_PASSWORD=root
SERVICE_TOKEN=root
SERVICE_PASSWORD=root
HOST_IP=192.168.0.4 #设置为你虚拟机第1块网卡的固定IP地址
NOVNCPROXY_URL="http://42.62.73.241:6080/vnc_auto.html" #42.62.73.241是你虚拟机的公网IP地址
OFFLINE=True # 一定要加上,防止更新devstack
RECLONE=False # 一定要加上,防止更新devstack
一键安装OpenStack
在虚拟机中的 /home/devstack/ 目录下执行stack.sh脚本,大概需要5分钟左右,你可以休息一下。
./stack.sh
5分钟之后,你会看到下面的输出。
恭喜你已经成功安装最新版的OpenStack, 你现在可以使用浏览器登录 http://{你的公网IP地址}/,就可以登录OpenStack Dashboard,然后使用admin账号登录(密码是root)。
快速体验OpenStack
让我们体验一下 OpenStack in OpenStack 和 VM in VM
在界面上创建虚拟机
使用VNC登录OpenStack虚拟机
使用SSH登录OpenStack虚拟机
首先你得先登录UOS虚拟机,然后再登录OpenStack虚拟机。
使用命令行操作OpenStack
你UOS虚拟机上,先导入环境变量(souce openrc admin demo),然后使用命令行工具操作OpenStack。

总结
得益于UOS的SDN和分布式存储,让网络规划如此方便,让虚拟机操作如此快捷。从上可以看出,我们可以在培训领域广泛使用UOS,提高教学效率,降低成本。
10分钟安装OpenStack的更多相关文章
- U盘10分钟安装linux系统
说来可能不信,10分钟包括创建U盘启动盘,用U盘启动,安装,不联网,不更新,不安装语言包,等装好系统再更新. Windows系统硬盘分区 如果你用的是Windows系统,现有的硬盘没有未分配的空间,需 ...
- 10分钟安装Elasticsearch
关注公众号 itweknow,回复"ES"获取<Elasticsearch权威指南 中文版>. 最近在尝试着搭建一个ELK(一个开源的实时日志分析平台),而本文所讲的E ...
- Fuel 30 分钟快速安装OpenStack
一直以来,对于openstack 的初学者来讲,安装往往是入门的头大难题.在E版本之前,要搭建一个基本能用的openstack 环境那是相当麻烦,自己要装机,自己搞源,自己照着文档敲命令,又没有靠谱的 ...
- 在Ubuntu 12.10 上安装部署Openstack
OpenStack系统有几个关键的项目,它们能够独立地安装但是能够在你的云计算中共同工作.这些项目包括:OpenStack Compute,OpenStack Object Storage,OpenS ...
- 10分钟精通SharePoint - SharePoint安装
简介 接触SharePoint就避免不了要接触SharePoint安装,无论你是对SharePoint进行开发还是管理(终端用户除外).SharePoint的安装涉及到两部分:预装.安装和配置,这主要 ...
- 【转】让你10分钟搞定Mac--最简单快速的虚拟安装
文章出处:让你10分钟搞定Mac--最简单快速的虚拟安装http://bbs.itheima.com/thread-106643-1-1.html (出处: 黑马程序员训练营论坛) 首先说明一下. 第 ...
- 史上!最最最简洁明了的 Java JDK 安装目录及其子目录含义 10分钟详解 - 精简归纳
Java JDK 安装目录及其子目录含义 10分钟详解 - 精简归纳 JERRY_Z. ~ 2020 / 8 / 30 转载请注明出处!️ 目录 Java JDK 安装目录及其子目录含义 10分钟详解 ...
- 深入浅出 Java JDK 安装目录及其子目录含义 10分钟详解 - 精简归纳
Java JDK 安装目录及其子目录含义 10分钟详解 - 精简归纳 JERRY_Z. ~ 2020 / 8 / 30 转载请注明出处!️ 目录 Java JDK 安装目录及其子目录含义 10分钟详解 ...
- ubuntu18.04系统下用devstack安装openstack(最新版)
ubuntu18.04系统下用devstack安装openstack(最新版) 2018年12月14日 16:34:14 Cherls 阅读数:427 前期准备: 安装git,升级pip,其他 s ...
随机推荐
- Java 获取当前时间前一个小时的时间
/** * 获取当前时间前一个小时的时间 */ public static void beforeOneHourToNowDate() { Calendar c = new Calendar.getI ...
- 浅谈脚本化css(三)之方块运动函数
我们可以写一个让小方块运动的函数: div#demo { width: 100px; ; position: absolute; ; ; } var div = document.getElement ...
- html打造动画【系列3】- 小猫笑脸动画
猫咪容器 咱们每次画一个图片,肯定先要确定一个容器,几确定一下图形的位置和大小. <div class="mao_box"> <div class="m ...
- android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配
1 Android手机目前常见的分辨率 1.1 手机常见分辨率: 4:3VGA 640*480 (Video Graphics Array)QVGA 320*240 (Quarter VGA ...
- hidden field implements session
隐藏域实现会话管理概述 如果你正在制作一个网络问卷,由于问卷内容很长,因此必须分几个页面,上一页面作答完后,必须请求服务器显示下一个页面. 但是在HTTP协议中,服务器并不会记得上一次请求的状态.既然 ...
- 浅谈 java 反射机制
一:Java反射概念 Java反射是Java被视为动态(或准动态)语言的一个关键性质.这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其mod ...
- JS DOM节点增删改查 属性设置
一.节点操作 增 createElement(name)创建元素 appendChild();将元素添加 删 获得要删除的元素 获得它的父元素 使用removeChild()方法删除 改 第一种方 ...
- @autowired 和@resource的区别
1. @Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上. 2. @Autowired默认按类型装配(这个注解是属业spring的),默认情 ...
- Script" References MACLEAN‘s post Speed up the index creation.
alter session set workarea_size_policy=MANUAL; alter session set db_file_multiblock_read_count=512; ...
- Common administrative commands in Red Hat Enterprise Linux 5, 6, and 7
https://access.redhat.com/articles/1189123 Common administrative commands in Red Hat Enterprise Linu ...