一直以来,对于openstack 的初学者来说,安装每每是入门的头大难题。在E版本以前,要搭建一个基本能用的openstack 环境那是至关麻烦,本身要装机,本身搞源,本身照着文档敲命令,又没有靠谱的文档,官方给出的文档依旧有好多坑,还有语言问题每每用上好几天时间都装不起来,慢慢地就丧失了学习openstack 的信心!html
不事后来状况有了很大改观,从E版本开始,之后安装过程简化许多,文档质量提升很多。尽管如此对于初学者还讲仍是比较复杂,其实不少时候,不少人只是想体会一下openstack,彻底不关注安装这门子事情。还好openstack社区足够活跃,很快就有公司作出了比较友好的安装工具,好比今天要向你们介绍的Fuel这个工具,其实这里还能够叫她mirantis openstack,由Mirantis 公司开发。node
Mirantis,一家很牛逼的openstack服务集成商,他是社区贡献排名前5名中惟一一个靠软件和服务吃饭的公司(其余分别是Red Hat, HP, IBM, Rackspace)。相对于其余几个社区发行版,Fuel的版本节奏很快,平均每两个月就能提供一个相对稳定的社区版。ios
Fuel 是一个为openstack 端到端”一键部署“设计的工具,其功能含盖自动的PXE方式的操做系统安装,DHCP服务,Orchestration服务 和puppet 配置管理相关服务等,此外还有openstack 关键业务健康检查和log 实时查看等很是好用的服务。git
Fuel 3.2基于Grizzly版本,而最新将发布的4.0版本是基于Havana版本的技术预览版,不可用做生产环境使用,同时,4.0版本仍然不包含Heat和Ceilometer组件。github
总结一下,Fuel 有如下几个优势:web
Fuel 主节点:用于提供PXE方式操做系统安装服务由开源软件Cobbler 提供,另外由Mcollective和puppet 分别提供orchestration服务和配置管理服务。Fuel iso 包发部的时候已经一同打包了Centos6.4 和ubuntu 12.04 安装包,若是须要使用红帽子企业版RHEL6.4 须要本身手动上传。bootstrap
目前能够支持openstack SA 或者HA 的安装。如今咱们已经对Fuel 有了大体了解,如今来看看用她来安装openstack有多么的方便!ubuntu
首先要说明的是Fuel 针对目标就是生产环境openstack部署,这里为了讲解安装过程就在虚拟机上演示说明。个人环境是HP笔记本Folio 9470 ,实际上是办公用的普通笔记本,读者能够根据实际机器状况自行修改虚拟机配置,我给出了个人配置仅供参考。centos
硬件要求浏览器
安装包准备
安装步骤
网络拓扑
首先在virtualbox 里面自定义以下3个网络:
›Net1:
–Network name: VirtualBox host-only Ethernet Adapter#2
–Purpose: Fuel administrator network
–IP block: 10.20.0.0/24
–Linux device: eth0
›Net2:
–Network name: VirtualBox host-only Ethernet Adapter#3
–Purpose: public/ floating network
–IP block: 172.16.0.0/24
–Linux device: eth1
›Net3
–Network name: VirtualBox host-only Ethernet Adapter#4
–Purpose: Storage/ management/ internal network
–IP block: 192.168.4.0/24
–Linux device: eth2
虚拟机建立
›VM1
–Name: Fuel_3.2.1
–vCPU:1
–Memory :1G
–Disk:30G
–Networks: net1
›VM2
–Name : Fuel_3.2.1_controller
–vCPU:1
–Memory :1G
–Disk:30G
–Network:net1,net2,net3
›VM3
–Name: Fuel_3.2.1_compute1
–vCPU:2
–Memory :2G
–Disk:30G
–Networks:net1,net2,net3
网络拓扑
建立网络Net1,注意不要启用dhcp,这个会干扰fuel 本身的dhcp服务。
建立网络net2
建立网络net3
建立fuel 主节点虚拟机,虚拟机名字为“fuel_3.2.1“。注意网卡选用net1,也就是virtualbox 的”VirtualBox host-only Ethernet Adapter#2“ 网络。
设置完成后启动虚拟机,显示boot menu时候,若是须要修改ip地址能够自行修改,默认是不须要修改。
开始安装操做系统
出现该画面时按任意键进入修改fuel 主节点相关配置,能够不修改使用默认值,几秒后进行软件包安装。
puppet 安装fuel 相关软件,好比Cobbler 等。
fuel 主节点安装完成。
看fuel 安装是否完成,就登陆http://10.20.0.2:8000/ 显示以下页面。
可能的问题
接下来就开始安装openstack 环境了。
首先在Fuel web 上建立一个openstack 环境,名字为”demo“,这个环境是能够创多个的,可见fuel能够同时管理多个openstack 环境。这里选择的os 有三种,这里默认选择centos,固然你也能够选择ubuntu 和rhle ,不过rhle 须要手动上传镜像或者提供红帽子官网用户名和密码,fuel 为你自动下载,不过期间比较长,不推荐。
这里选择部署openstack 多节点非HA模式。
因为咱们是在虚拟机中再跑虚拟机,这里选择hypervisor类型为”qemu“。
这里选择openstack 的网络部署模式,咱们选最简单的方式也是目前最成熟的方式nova-network实现。
最后一路使用default 配置,不作更改完成环境建立。
建立openstack节点虚拟机VM2和VM3,分别命名为fuel_3.2.1_controller和fuel_3.2.1_compute1,注意计算节点多分配写cpu core ,至少2个,内存2G,固然若是机器配置不够也能够1个core 1G内存,至少后边建立openstack的instance比较慢。
设置系统由network启动
配置网卡1,接入net1,注意必定要选择 网卡类型为:Pcnet-PCI II,而且开启混杂模式:Allow All.node_vms_set_promiscuous.jpg
配置网卡2,接入net2.
配置网卡3,接入net3
让后分别启动VM2和VM3
画面出现bootstrap login 后,在fuel web 页面才能够看到节点被fuel发现。
回到fuel web 能够看到两个节点被发现
接下来开始针对这两个被发现的节点VM2,VM3配置openstack环境了。
首先须要配置VM2和VM3在openstack 中的角色。点击”add nodes“ 添加VM2做为openstack 的控制节点。
在点击”add nodes“ 添加VM3做为openstack 的计算节点。
修改两个节点的物理网卡和openstack 逻辑网络的映射关系,这里只须要拖拽就搞定。admin 网络已经设置到eth0不能再做修改10.20.0.0/24,public和 instance floating 网络共用eth1 且共用同一个地址块172.16.0.0/24,而private ,management 和storage 共用eth2 可是网络ip不一样,须要经过vlan tag 方式实现二层网络隔离。
修改两个节点磁盘的分区状况,这里使用默认值,注意storage 分区不能小于10g,不然不能经过验证。
再来配置openstack 最复杂的一块网络,其实按照我给的网络拓扑使用默认值就能够安装啦,是否是很方便?不过仍是要啰嗦一下:
public IP用于物理机器和外界通讯,floating IP 用于动态分配给openstack instance 实现和外界通讯。注意这里地址块不能重叠。 因为private,management和storage共用同一网卡且IP块不一样,要实现二层隔离就须要打上vlan的tag,若是是接在真实的交换机,必须启用trunk 模式。 一旦网络配置完毕并安装完成,这个地址是永久不能改变的,因此生产环境下必定要先规划好在部署。 配置完成后点击 ”networking verification“ 按钮,检查网络设置是否正确。
验证经过后保持设置,开始部署节点。
此时能够发现两个VM开始自动重启开始安装OS。
这里比较古怪,安装进度到33%时须要等好久才能往下走。这个时候两个节点的OS都已经安装完成。
有什么办法能看到安装的log呢?固然有,这时候能够去log 标签视图查看安装log,选取”other server“,在选对应节点的puppet log 看log 跳动。
最后,一切顺利的话,大概20 几分钟安装就会完成了,不过具体时间取决于机器性能,这时候点击http://172.16.0.2 或者 http://10.20.0.4 均可以访问openstack 的dashboard .区别在于172.16.0.2 所谓的公网ip 地址,这个登后dashboard 能够直接使用vnc 访问instance,而10.20.0.4不能。
点击连接进入openstack登陆页面,输入admin/admin
至此,openstack的环境部署完成,这里部署了一个计算节点,一个控制节点。没有部署cinder ,没有部署多计算节点。若是须要部署,请重复上述步骤便可。
最后,就是验证一下openstack环境是否正确部署。其实fuel 有个很是好的而一个功能,能够快速检测openstack 环境”健康“状况。进入healthcheck 标签,能够一键安全检测,注意不会所有都经过,应为cinder 没有安装,因此create volume 相关的服务会失败。
最后咱们仍是创个instance 来验证吧?
先登陆后进入openstack主管理界面,建立一个instance,进入project view – > 打开instances tab -> 点击右上方luanch 按钮。instance 名字为test0
instance 建立成功后,同时点击相应instance test0右边的”more“ 按钮,选择”allocation floating ip“,为其分配一个floating ip 地址。
直接在web 页面访问instance: 点击 右端 ”more“ -> “console” 按钮进入该页面,这是是用web socket 技术实现的VNC 客户端,用它能够作一些简单instance 管理,不足是不能粘贴拷贝比较麻烦。
最后在笔记本上打开一个”cmd“ 终端看一下floating ip 是否通畅。
至此fuel web openstack 安装介绍结束,若是要安装更多节点请重复上面操做便可。
其余工具
固然,openstack安装工具不仅是有fuel ,还有红帽子的packstack 也是不错的,而且支持最新版本的openstack 安装。这里有篇文章对两者作了比较全面的介绍 http://www.openstack.cn/p383.html。
参考文档
http://openstack-huawei.github.io/mirantis-openstack/
http://software.mirantis.com/quick-start/
http://www.openstack.cn/p383.html