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]