774530750 发表于 2018-5-31 06:52:14

fuel9.0离线安装openstack,一个完整的openstack生态

  前言:由于openstack框架的庞大,所以人工的源码安装基本只能适用于小规模的集群,而稍微上点规模的集群都是需要个安装工具的(只要你愿意,当然也可以源码安装。。。),fuel便是其中一员,但是尴尬的是,mirantis上面都找不到fuel9.0的相关文档了T_T,因为mirantis打算推自己的mcp,放弃fuel了,而mcp是什么呢?在k8s上面装openstack,虽然看起来更复杂了,但其实更"方便"了,这几乎也是一个趋势了。
  

正文
  我所说的openstack生态指啥?恩,这个词又是我杜撰的。
  如果只是搭一个openstack集群,其实很危险,特别是规模比较大的时候,因为靠手工的检查或者脚本的检查是很难感知整个openstack集群的状态的,所以要能时时刻刻感知到openstack集群的状态才算一个完整的生态。
  怎么感知呢?
  日志
  收集openstack节点的服务日志,由于排查,追溯错误。
  性能指标
  发现openstack的性能瓶颈,或者定位问题。
  监控报警
  用于及时响应openstack发现的错误,可以第一时间解决。
  

  

  关于上述的感知,其实fuel已经提供了比较完善的插件了,所以不需要一项一项的配置,虽然fuel有点被放弃的意思,但是还是能够用的。。。。
  无图无真相,感知效果如下
  日志

  服务状态

  性能指标

  虚拟机性能指标

  nagios监控报警

  值得说明的是,还有zabbix的监控报警可以选择。
  

  

  

  准备文件
  iso文件: MirantisOpenStack-9.0.iso
  离线源: fuel9.0-repo-0624.tar.gz
  bootstrap镜像: bc3e3b14-0845-4804-b913-7405751765f2.tar.gz
  下载链接:

  http://pan.baidu.com/s/1nuEWwxb 密码:njr4
  

  

  Lma插件:
  下载链接: https://www.mirantis.com/software/openstack/fuel-plugins/
  elasticsearch_kibana-0.10-0.10.2-1.noarch.rpm
  influxdb_grafana-0.10-0.10.2-1.noarch.rpm      
  lma_infrastructure_alerting-0.10-0.10.3-1.noarch.rpm
  

  
  virtualbox安装
  节点分配表

节点类型内存Cpu网卡1网卡2网卡3磁盘
(最低)实际配置大小Node1Fuel21Pxe/Adminmgmtn/a50GB50GBNode2控制节点41Pxe/AdminmgmtPrv/stg/public50GB100GBNode3计算节点21Pxe/AdminmgmtPrv/stg/public50GB100GBNode4Lma节点41Pxe/AdminmgmtPrv/stg/public120GB300GB  
  
  
  网络环境准备
  1.创建三个host-only网络

  
  

  依次将其ip地址设置为10.20.0.1,172.16.0.1,192.168.0.1并取消dhcp,示例如下。


  
  
  
  然后根据节点分配表,创建相应规格的虚拟机,并配置相应的网卡。
  示意如下。

  
  
  

  每个节点的第一块网卡中的混杂模式都设置为不允许,然后其他网卡设置成全允许,示例如下。

  

  
  
  
  

  将准备的iso镜像文件挂在到fuel虚拟机。

  
  
  注意:openstack节点的系统设置中的”启动顺序”里面要勾选”网络”

  
  
  
  

  启动fuel。
  等待大概十五到二十分钟后fuel节点就会将fuel节点相关的服务安装完成,然后重启。
  重启之后就会在启动后跳转到以下界面。

  
  
  

  

配置fuel menu
  
  Fuel User
  配置fuel的用户名密码,默认是admin/admin,根据实际需求更改。

  
  
  
  Network Setup
  配置相应网卡的ip地址。
  eth0:

  
  eth1:

  
  
  

  Security Setup
  fuel的ssh连接设置,默认只有pxe网段的ip能够ssh连接。
  这里改成任意网段。

  

  PXE Setup
  可设置dhcp地址以及dhcp分配的ip地址范围。

  
  
  

  DNS & Hostname
  由于在内网,且没有内部dns服务器,所以不需要设置。

  注:这里dns可以设置成8.8.8.8或者留空。
  Fuel的配置文件更改,可用fuel settings更改
# fuel settings -h
usage: fuel settings [-h] --env ENV (--download | --default | --upload)
                     [--dir DIR] [--force]
optional arguments:
-h, --help            show this help message and exit
--env ENV, --env-id ENV
                        environment id
--download, -d      Modify current configuration.
--default             Open default configuration.
--upload, -u          Save current changes in configuration.
--dir DIR             Directory with configuration data.
--force, -f         Force settings upload.
Examples:
To upload settings for some environment from some directory:
            fuel --env 1 settings --upload --dir path/to/directory
To download default settings for some environment in some directory:
            fuel --env 1 settings --default --dir path/to/directory
To download settings for some environment in this directory:
            fuel --env 1 settings --download  

     
  Bootstrap Image
  选择 Skip building bootstrap image,后面会离线导入,再者内网没有网络连接,且软件源在国外,在线创建几乎不会成功。

  

  Time Sync
  将ntp服务器指向fuel服务器的ip地址

  注意:点击check的时候会失败,但是没关系。
  
  
  

  Root Password
  Fuel 服务器的root密码

  

  后面Feature groups,Shell Login,Restore settings都不需要设置。
  
  最后Quit Setup选择 Quit and Save

  

  

  至此,fuel会根据上面的配置项配置fuel的安装环境。
  根据虚拟机的硬件规格的不同,安装配置的时间不定,一个小时或者更长。
  
  安装完成后,会提示以下页面

  将准备的文件,除了iso镜像全部传入进去。

  

  新建本地源(openstack软件包之类的):
# mv fuel9.0-repo-0624.tar.gz /var/www/nailgun/
# ls
bootstrapscentosdumperror.htmlextra-reposfuel9.0-repo-0624.tar.gzindex.htmlmitaka-9.0mos-centostargetimagesubuntu
# tar xf fuel9.0-repo-0624.tar.gz
# ls
bootstrapscentosdumperror.htmlextra-reposfuel9.0-repo-0624.tar.gzindex.htmlmirrorsmitaka-9.0mos-centostargetimagesubuntu  

  
  可以看到,多了一个mirros的文件夹。
  执行fuel-createmirros命令。

  
  
  
  
  注:报错是正常的,因为fuel会试图去网上下载。
  
  
  

  导入bootstrap镜像(Openstack节点的系统镜像)并激活:
# fuel-bootstrap import bc3e3b14-0845-4804-b913-7405751765f2.tar.gz
Try extract bc3e3b14-0845-4804-b913-7405751765f2.tar.gz to /tmp/tmp5zDunq
Bootstrap image bc3e3b14-0845-4804-b913-7405751765f2 has been imported.
# fuel-bootstrap list
+--------------------------------------+--------------------------------------+--------+
| uuid                                 | label                              | status |
+--------------------------------------+--------------------------------------+--------+
| bc3e3b14-0845-4804-b913-7405751765f2 | bc3e3b14-0845-4804-b913-7405751765f2 |      |
+--------------------------------------+--------------------------------------+--------+
# fuel-bootstrap activate bc3e3b14-0845-4804-b913-7405751765f2
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 bc3e3b14-0845-4804-b913-7405751765f2 has been activated.  注意:一定要激活。

  
  

  

  安装插件
# fuel plugins --install lma_infrastructure_alerting-0.10-0.10.3-1.noarch.rpm
# fuel plugins --install elasticsearch_kibana-0.10-0.10.2-1.noarch.rpm
# fuel plugins --install influxdb_grafana-0.10-0.10.2-1.noarch.rpm  

  
  
  列出已装插件
# fuel plugins
id | name                        | version | package_version | releases                                    
---+-----------------------------+---------+-----------------+----------------------------------------------
1| lma_infrastructure_alerting | 0.10.3| 4.0.0         | ubuntu (liberty-8.0, liberty-9.0, mitaka-9.0)
2| elasticsearch_kibana      | 0.10.2| 4.0.0         | ubuntu (liberty-8.0, liberty-9.0, mitaka-9.0)
3| influxdb_grafana            | 0.10.2| 4.0.0         | ubuntu (liberty-8.0, liberty-9.0, mitaka-9.0)  

  
  
  

Fuel web界面创建opens tack环境
  点击 “新建openstack环境”
  填入环境名,环境名不能重复

  


  

  因为节点有限,所以选择lvm作为块存储。

  


  

  然后依次启动各个openstack节点。
  启动各个节点后,各个节点会通过pxe自动安装导入的bootstrap镜像,系统安装完成后,就在在fuel web页面看到节点加入的消息。

  
  
  

  命令行下查看
# fuel nodes
id | status   | name             | cluster | ip      | mac               | roles | pending_roles | online | group_id
---+----------+------------------+---------+-----------+-------------------+-------+---------------+--------+---------
1 | discover | Untitled (9c:6b) |         | 10.20.0.3 | 08:00:27:50:9c:6b |       |               |      1 |         
2 | discover | Untitled (c1:b4) |         | 10.20.0.4 | 08:00:27:0b:c1:b4 |       |               |      1 |         
3 | discover | Untitled (d9:95) |         | 10.20.0.5 | 08:00:27:b5:d9:95 |       |               |      1 |     

  
  
  在添加节点之前
  在“设置”标签页面选择其他配置,将所装的插件,都启用并根据需要进行相关配置,如用户名密码,邮箱之类的。
  效果如下

  
  
  
  
  进入环境,添加节点,依次如下。

  


  
  
  
  

  选择所有节点,配置网络接口

  
  
  

  由于都只有一块磁盘,不用配置磁盘,不过也可以自定义各个部分的大小,fuel会自动的分配了。
  示例如下。

  
  
  
  
  

  在deploy changes之前先进行网络验证。

  

  

  最后点击Deploy Changes,当点击之后就是漫长的等待了。根据电脑的配置不同,一般两到三个小时不等。
  

  
  
  

  安装完后的效果


  

  后记:
  由于资源有限,失败乃兵家常事,再次deploy吧。。。。
  或者检查一下是否真的配置有问题。
  

  

如果觉得不错,并有所收获,请我喝杯茶呗



  
页: [1]
查看完整版本: fuel9.0离线安装openstack,一个完整的openstack生态