TripleO
部署TripleO至少需要3个节点,角色分别如下:
- 一个Undercloud节点
- 一个Overcloud控制节点
- 一个Overcloud计算节点
最小配置:
- 多核CPU
- 8G 内存
- 60G 硬盘
推荐使用物理机,开发测试也可以使用虚拟机,TripleO部署目前只支持RHEL 7.1 x86_64和CentOS 7 x86_64。
网络需求
网络参考下图:
- NTP配置
- DHCP获取
- Pacemaker状态
- Undercloud硬件配置
- MySQL打开连接数限制
- ……
由于TripleO也是一套小型的OpenStack环境,部署起来也较繁琐,于是出现了几个项目用来部署TripleO,如:和官方推荐项目Instack-Undercloud。
其中,Tripleo-Quickstart主要使用Ansible部署、Instack-Undercloud则混合使用了脚本和Puppet来部署,但是使用Puppet的时候有些调用模块的时候会出问题,调用的资源改名时Instack-Undercloud里没有修改,所以在使用Instack-Undercloud部署TripleO的时候最好了解一些Puppet知识。
另外,由于使用RDO的源要下载很多包,网速慢的同学就要痛苦了,可能要部署很长时间。
1. 生成镜像
TripleO部署需要如下几个镜像:
如果使用的是CentOS系统,可以直接使用以下命令创建:,而如果是RHEL系统,则需要通过--config-file
参数进行指定配置文件,openstack overcloud image build --config-file /usr/share/openstack-tripleo-common/image-yaml/overcloud-images.yaml --config-file $OS_YAML
3. 注册节点
注册节点是注册到Ironic里面,我们在前面提过,TripleO使用Ironic管理裸机,openstack overcloud node import instackenv.json
,使用的文件可以是JSON、YAML或CSV文件,导入时根据后缀名判断,该JSON文件模板如下:
该命令只会导入信息,不会进行检查,导入后状态为:manageable,Ironic中服务器的状态有以下几种:
- enroll,该状态是Ironic不会对其进行管理,在Newton版本后,支持使用该状态替换available状态,即导入时添加
--initial-state=enroll
参数。 - manageable,验证完IPMI等可用后,服务器被设置为manageable状态,在这个状态时,用户可以进行自检、RAID配置等操作,但还不能开始部署。
- available,部署前的最后一个状态,此状态时Ironic可以随时开始部署。
如果要在导入时进行检查,则执行以下命令:openstack overcloud node import --introspect --provide instackenv.json
4. 节点自检
上节说过,在manageable状态时,用户可以执行自检程序,命令如下:
Mitaka版本中则是使用openstack baremetal introspection bulk start
,之后的版本使用:
,如果只需要检查一个节点可以先把该节点置为manageable状态,然后执行检查:
然后使用以下命令查看这台机器的状态,看其中的finished是否为True:openstack baremetal introspection status UUID
6. 总结
优点:
- 熟悉OpenStack的人使用方便
- 很好的管理物理服务器,完整的生命周期管理
缺点
- 部署麻烦
参考
Heat模板:https://docs.openstack.org/developer/heat/template_guide/index.html