Fuel

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 1 root root   65 Jul 10 06:05 active_bootstrap -> /var/www/nailgun/bootstraps/d01c72e6-83f4-4a19-bb86-6085e40416e6/
.....

2> 创建本地镜像

[root@fuel ~]# fuel-createmirror
URLError: <urlopen error [Errno -2] Name or service not known>
<urlopen error [Errno -2] Name or service not known>
Starting new HTTP connection (1): 10.20.0.2
Starting new HTTP connection (1): 10.20.0.2
Starting new HTTP connection (1): 10.20.0.2
Starting new HTTP connection (1): 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 (1): 10.20.0.2
Starting new HTTP connection (1): 10.20.0.2
Starting new HTTP connection (1): 10.20.0.2
Starting new HTTP connection (1): 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项目了。

 

posted @ 2019-07-10 20:09  Ajunyu  阅读(1410)  评论(0编辑  收藏  举报