1. fuel简介

fuel是Mirantis公司提供的一款开源的自动化安装部署OpenStack的工具。为OpenStack相关的社区项目和插件的部署和管理提供了一种直观的GUI驱动体验。

  Fuel带来了消费者级的简单,以简化和加快耗时、往往复杂容易出错的过程部署以及测试和维护各种配置风格的OpenStack的规模。与其他特定于平台的部署或管理工具不同,FUSE是一个上游OpenStack项目,专注于OpenStack和一系列第三方选项的自动化部署和测试,因此它不会受到硬捆绑或供应商锁定的影响。

  2013年,该安装程序在戴尔(C 6220&R 320)、惠普(DL 380)、超级微(6027 TR-HTRF)、联想ThinkServer(RD 530)和思科UCS-C等平台上进行了多次部署测试。

主要特点:

  硬件发现

  UI中的硬件配置(网络和磁盘分区)

  能够拆分和管理多个OpenStack集群

  支持非HA和HA OpenStack部署配置

  部署前检查和网络验证

  部署后检查和运行一组测试以验证已部署的OpenStack。

  通过ui实时查看日志

  对CentOS和Ubuntu的支持,它也可以扩展到支持其他发行版。

  支持多个OpenStack发行版

Fuel结构

  Fuel不是单一的。它由几个独立的组成部分组成。其中一些组件是燃料专用组件,而另一些组件是第三方服务,如Cobler、Puppet、M8.4等。一些组件可以与燃料分开使用,无需任何修改,有些将需要很少的调整。

  UI是用JavaScript编写的单页应用程序。它在底层使用引导和主干框架。检查视频它演示了4.0版燃料的UI和基本功能(这是Mirantis发行版,它仅与Mirantis徽标不同)。

  Nailgun是燃料项目的核心。像其他OpenStack项目一样,Nailgun是用Python编程语言编写的。它实现了RESTAPI以及部署数据管理。它管理磁盘卷、配置数据、网络配置数据和任何其他特定于环境的数据,这些数据是成功部署所必需的。它需要编制逻辑来构建按正确顺序提供和部署的指令。Nailgun使用SQL数据库存储其数据,并使用AMQP服务与工人进行交互。Fuel CLI提供比UI更可能的操作。

  Astute 是它的另一个重要组成部分是代表Nailgun的工人,其功能是根据Nailgun提供的指令执行某些操作。事实上,Astute只不过是一个层,它封装了与各种服务(如Cobler、Puppet、shell脚本等)交互的所有细节,并为这些服务提供了通用的异步接口。根据我们需要做的事情,我们可以直接通过服务的本机协议来管理服务(例如,XMLRPC协议是用于Cobler的),或者我们可以使用MgroupAgent来执行特定的任务,比如在远程节点上启动“傀儡应用”或运行脚本。通过AMQP精明地与Nailgun交换数据。

  Cobbler目前用作供应服务。现在有一个POC可以使用讽刺的方式,并且正在实施一个生产版本。

  Puppet是目前唯一的部署服务。可以创建MCollection代理来管理其他配置管理框架,如Chef、SaltStack等。

  MCollective agents允许我们执行特定的任务,如硬盘清除,网络连接探测等。

  OSTF (OpenStack Testing Framework, or Health Check) 是一个单独的组件,无需fuel就可以轻松地删除和重用。它实现了OpenStack的部署后验证。它的主要目标是验证最大的功能,花费最少的时间。

安装 fuel openstack

  Fuel9.0将会搭载Openstack_Mitaka 版本,这个版本是2016年出的最新版本。Fuel在早先的版本中已经去掉了利用Centos来搭建Openstack的环境;在9.0中只使用Ubuntu和Ubuntu + UCA的部署方式。

2. 利用Oracle VM VirtualBox部署安装fuel

fuel部署OpenStack是需要先有个master节点,再通过master节点来部署OpenStack的控制节点和计算节点等,同时各节点需要部署mon和osd进行ceph存储。

fuel-master是通过pxe的网络来部署各节点的。fuel-master通过pxe实现自动网络装机,将三个节点装上操作系统,一次三个节点只需准备机器,不需要安装操作系统。

利用Oracle VM VirtualBox部署安装的fuel-master操作系统版本为centos7.2,每个操作节点的操作系统为ubantu14.04版本。部署的OpenStack为M版,fuel版本为fuel9.0或者fuel9.2。

2.1 安装fuel节点

1> 打开virtualbox,新建虚拟机

分配内存,为了使能够顺利安装,先将master节点内存给大点

创建新的硬盘,选择默认的硬盘文件类型,动态分配物理硬盘存储。指定虚拟机存放位置和磁盘大小

2> 设定virtualbox网络环境

打开管理→全局设置→网络,选择仅主机模式,点击加号添加网络

3> 给每个网卡配置网段

网络创建成功后,在windows网络线查看创建的网络,确认创建成功

网段规划:

网卡名称

IP地址

描述

adapter2

10.20.0.1/24

PXE网络

adapter3

192.168.10.1/24

管理网络

adapter4

192.168.20.1/24

存储网络

adapter5

192.168.30.1/24

私有网络

adapter6

172.168.0.1/24

外部网络

SSH+PXE网络:用来通过ssh连接到controller node、compute node操作管理物理服务器,自动部署网络;

外部网络:controller每个节点需要一个外网IP地址,该网络还用于虚拟机外部网络访问(例如:float网络);

管理网络:管理网络OpenStack api网络;

存储网络:机访问ceph的网络;

私有网络:租户网络(vm网络)。

  双击新建的网络,进行网卡设置。每个网络设置都必须关掉DHCP,不让自动获取网络,adapter2必须设置成10.20.0网段,因为pxe网络在进行部署时该软件默认配置DHCP用的是该网段。

其他网卡类似。

4> 安装fuel节点

选择新创建的虚拟机,点击设置→启动顺序,勾选掉软驱,利用光驱启动

点击存储→盘片,选择准备好的光盘文件

  点击网络,选择一块网卡,选择第二块部署网络的网卡;控制芯片选择倒数第二个,混杂模式(允许多个VLAN通过)选择拒绝。

点击启动,开始安装fuel-master节点

漫长的安装过程

进入如下界面

fuel网卡配置

设置允许ssh的网段,允许所有的网段

设置pxe地址池,可以自定义,默认DHCP池从10.20.0.3~10.20.0.254

配置DNS,外网DNS设置为8.8.8.8

选择Bootstrap Image为Skip building bootstrap image(使用本地的镜像),否则会报错(无法访问谷歌)

设置ntp服务器地址,一般选择fuelmaster节点自己

保存退出

注意:如果安装过程中没有出现上面设置界面输入fuelmenu命令,进入配置。

配置完成选择

Quit setup > Save and Quit

继续等待半个小时左右提示安装ok即可。UI界面用户和密码均为admin。

安装完成后亦可以使用xshell等远程连接工具进行连接。

5> 在浏览器输入fuel-master的地址进行登录访问,用户密码均为admin,

  \

3. 部署本地源

直接下载会跑到外网去下载,因此需要配置本地源。

1> 上传文件bootstraps和mirrors,并移动到目录/var/www/nailgun/

[root@fuel ~]# ls
...
bootstraps mirrors
[root@fuel ~]# cd /var/www/nailgun/
[root@fuel nailgun]# ls
bootstraps dump extra-repos mitaka-9.0 targetimages
centos error.html index.html mos-centos ubuntu
[root@fuel nailgun]# mv bootstraps bootstraps.bak
[root@fuel nailgun]# cd
[root@fuel ~]# mv bootstraps /var/www/nailgun/
[root@fuel ~]# mv mirrors /var/www/nailgun/
[root@fuel nailgun]# cd bootstraps
[root@fuel bootstraps]# ls
active_bootstrap bootstrap_stub d01c72e6-83f4-4a19-bb86-6085e40416e6
[root@fuel bootstraps]# mv active_bootstrap active_bootstrap.bak
[root@fuel bootstraps]# cd d01c72e6-83f4-4a19-bb86-6085e40416e6/
[root@fuel d01c72e6-83f4-4a19-bb86-6085e40416e6]# ln -s /var/www/nailgun/bootstraps/d01c72e6-83f4-4a19-bb86-6085e40416e6/ /var/www/nailgun/bootstraps/active_bootstrap #添加链接
[root@fuel d01c72e6-83f4-4a19-bb86-6085e40416e6]# cd -
[root@fuel bootstraps]# ll
lrwxrwxrwx root root Jul : active_bootstrap -> /var/www/nailgun/bootstraps/d01c72e6-83f4-4a19-bb86-6085e40416e6/
.....

2> 创建本地镜像

[root@fuel ~]# fuel-createmirror
URLError: <urlopen error [Errno -] Name or service not known>
<urlopen error [Errno -] Name or service not known>
Starting new HTTP connection (): 10.20.0.2
Starting new HTTP connection (): 10.20.0.2
Starting new HTTP connection (): 10.20.0.2
Starting new HTTP connection (): 10.20.0.2
Updating the Cluster repositories...
Updating the release repositories...
Try to update the Release 'Mitaka on Ubuntu 14.04'
Try to update the Release 'Mitaka on Ubuntu+UCA 14.04'
Operations have been completed successfully.

3> 将bootstrap后查看fuel-bootstrap

[root@fuel ~]# fuel-bootstrap list
+--------------------------------------+--------------------------------------+--------+
| uuid | label | status |
+--------------------------------------+--------------------------------------+--------+
| d01c72e6-83f4-4a19-bb86-6085e40416e6 | d01c72e6-83f4-4a19-bb86-6085e40416e6 | active |
+--------------------------------------+--------------------------------------+--------+

4> 激活bootstrap

[root@fuel ~]# fuel-bootstrap activate d01c72e6-83f4-4a19-bb86-6085e40416e6
Starting new HTTP connection (): 10.20.0.2
Starting new HTTP connection (): 10.20.0.2
Starting new HTTP connection (): 10.20.0.2
Starting new HTTP connection (): 10.20.0.2
Bootstrap image d01c72e6-83f4-4a19-bb86-6085e40416e6 has been activated.

5> 验证bootstrap

[root@fuel ~]# fuel-bootstrap list
+--------------------------------------+--------------------------------------+--------+
| uuid | label | status |
+--------------------------------------+--------------------------------------+--------+
| d01c72e6-83f4-4a19-bb86-6085e40416e6 | d01c72e6-83f4-4a19-bb86-6085e40416e6 | active |
+--------------------------------------+--------------------------------------+--------+

激活完成后部署节点已完成部署,可以打开UI界面创建OpenStack项目了。

最新文章

  1. c#反射机制
  2. NPM 相关
  3. 20.C#LINQ基础和简单使用(十一章11.1-11.2)
  4. Leetcode: Strobogrammatic Number III
  5. (转)接口自动化测试 – Java+TestNG 测试 Restful Web Service
  6. matlab函数调用及数据传递
  7. 统计一段文字中出现频率最高的10个单词(c语言)
  8. ARM与x86之3--蝶变ARM
  9. Cocos2D-x权威指南:通过节点控制屏幕中的全体渲染对象
  10. vim下编写html的超级利器emmet
  11. pcre函数具体解释
  12. angularjs uigrid 中celltemplate的写浮动框
  13. 吴恩达机器学习笔记59-向量化:低秩矩阵分解与均值归一化(Vectorization: Low Rank Matrix Factorization &amp; Mean Normalization)
  14. 用 PHP文件引入css样式
  15. 汇编语言--微机CPU的指令系统(五)(算术运算指令)
  16. 关于ajax请求后js绑定事件失效问题解决方法
  17. 用zmq的pub/sub+flask实现异步通信的研究
  18. 微信小程序网络封装-简单高效
  19. android开发常用组件【持续更新中。。。】
  20. C#不用union,而是有更好的方式实现

热门文章

  1. cmd大全
  2. Mac下进入MySQL命令行
  3. linux添加虚拟内存交换内存,以及设置优先使用交换内存
  4. Grammar01 语法七要素之一_词类
  5. Linux 就该这么学 CH04 VIM编辑器和Shell命令脚本
  6. 手把手教你创建electron+vue项目
  7. asp.net core使用水晶报表问题
  8. Word页眉实现首页不同、奇偶页不同 、更改页眉横线、页眉文字对齐 -- 视频教程(8)
  9. jdk的下载路径和环境变量的配置
  10. Python之路【第二十篇】:python项目之旧版抽屉新热榜