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