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的更多相关文章

  1. U盘10分钟安装linux系统

    说来可能不信,10分钟包括创建U盘启动盘,用U盘启动,安装,不联网,不更新,不安装语言包,等装好系统再更新. Windows系统硬盘分区 如果你用的是Windows系统,现有的硬盘没有未分配的空间,需 ...

  2. 10分钟安装Elasticsearch

    关注公众号 itweknow,回复"ES"获取<Elasticsearch权威指南 中文版>. 最近在尝试着搭建一个ELK(一个开源的实时日志分析平台),而本文所讲的E ...

  3. Fuel 30 分钟快速安装OpenStack

    一直以来,对于openstack 的初学者来讲,安装往往是入门的头大难题.在E版本之前,要搭建一个基本能用的openstack 环境那是相当麻烦,自己要装机,自己搞源,自己照着文档敲命令,又没有靠谱的 ...

  4. 在Ubuntu 12.10 上安装部署Openstack

    OpenStack系统有几个关键的项目,它们能够独立地安装但是能够在你的云计算中共同工作.这些项目包括:OpenStack Compute,OpenStack Object Storage,OpenS ...

  5. 10分钟精通SharePoint - SharePoint安装

    简介 接触SharePoint就避免不了要接触SharePoint安装,无论你是对SharePoint进行开发还是管理(终端用户除外).SharePoint的安装涉及到两部分:预装.安装和配置,这主要 ...

  6. 【转】让你10分钟搞定Mac--最简单快速的虚拟安装

    文章出处:让你10分钟搞定Mac--最简单快速的虚拟安装http://bbs.itheima.com/thread-106643-1-1.html (出处: 黑马程序员训练营论坛) 首先说明一下. 第 ...

  7. 史上!最最最简洁明了的 Java JDK 安装目录及其子目录含义 10分钟详解 - 精简归纳

    Java JDK 安装目录及其子目录含义 10分钟详解 - 精简归纳 JERRY_Z. ~ 2020 / 8 / 30 转载请注明出处!️ 目录 Java JDK 安装目录及其子目录含义 10分钟详解 ...

  8. 深入浅出 Java JDK 安装目录及其子目录含义 10分钟详解 - 精简归纳

    Java JDK 安装目录及其子目录含义 10分钟详解 - 精简归纳 JERRY_Z. ~ 2020 / 8 / 30 转载请注明出处!️ 目录 Java JDK 安装目录及其子目录含义 10分钟详解 ...

  9. ubuntu18.04系统下用devstack安装openstack(最新版)

    ubuntu18.04系统下用devstack安装openstack(最新版) 2018年12月14日 16:34:14 Cherls 阅读数:427   前期准备: 安装git,升级pip,其他 s ...

随机推荐

  1. SpringBoot集成Jersey

    SpringBoot集成Jersey 添加依赖 <dependency> <groupId>org.springframework.boot</groupId> & ...

  2. spring boot获取request

    1. Controller中 1.1 通过静态方法获取 HttpServletRequest request = ((ServletRequestAttributes)RequestContextHo ...

  3. java存储图片

    import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import java.util. ...

  4. nginx+tomcat实现Windows系统下的负载均衡搭建的案例

    刚入行没多久就听过‘负载均衡’的大名,到现在因为工作接触的少,所以没什么太多的认识.但自己又对其非常的好奇,所以前两天通过查资料,在自己的笔记本上就搭建了一个超简单的案例(工作中没有时间,晚上到家了条 ...

  5. Maven 项目管理从未如此通畅

    一,写在前面 Maven到底是什么?它能做些什么?能为我们的开发工作提供什么样的帮助?为什么会有如此大的知名度?另外,常听大厂的人说“私服”,工具管理吧啦吧啦的一堆也是不明觉厉.相信仁者见仁,着智者见 ...

  6. java:Filter、Listener 自定义拦截器和过滤器应用

    一,Filter FilterEncoding 过滤器,统一设置servlet的编码格式. package com.dkt.filter; import java.io.IOException; im ...

  7. 自定义指令directive基础用法

    官方链接:http://doc.vue-js.com/v2/guide/custom-directive.html#simplest-directive-example 在main.js中注册自定义指 ...

  8. opencv3.2.0形态学滤波之形态学梯度、顶帽、黑帽

    /*一.形态学梯度 (1)含义:是膨胀图和腐蚀图之差 (2)数学表达式:dst=morph-grad(src,element) =dilate(src,element) - erode(src,ele ...

  9. Pig安装与应用

    1.  参考说明 参考文档: http://pig.apache.org/docs/r0.17.0/start.html#build 2.  安装环境说明 2.1.  环境说明 CentOS7.4+ ...

  10. ArcGIS Google Map 增加虚拟图层(MapImageLayer)(转载)

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...