8.3. 置备裸机节点

创建一个新的 YAML 文件 ~/overcloud-baremetal-deploy.yaml,定义您要部署的裸机节点的数量和属性,并为这些节点分配 overcloud 角色。置备过程会创建一个 heat 环境文件,您可以将其包括在 openstack overcloud deploy 命令中。

先决条件

步骤

  1. 查找 stackrc undercloud 凭据文件:

    $ source ~/stackrc
  2. 创建新的 ~/overcloud-baremetal-deploy.yaml 文件,并为您要置备的每个角色定义节点数。例如,要置备三个 Controller 节点和三个 Compute 节点,请使用以下语法:

    - name: Controller
      count: 3
    - name: Compute
      count: 3
  3. ~/overcloud-baremetal-deploy.yaml 文件中,定义您要分配给节点的任何预先节点放置、自定义镜像、自定义 NIC 或其他属性。例如,使用以下示例语法在节点 node00node01node02 上置备三个 Controller 节点,在 node04node05node06上置备三个 Compute 节点:

    - name: Controller
      count: 3
      instances:
      - hostname: overcloud-controller-0
        name: node00
      - hostname: overcloud-controller-1
        name: node01
      - hostname: overcloud-controller-2
        name: node02
    - name: Compute
      count: 3
      instances:
      - hostname: overcloud-novacompute-0
        name: node04
      - hostname: overcloud-novacompute-1
        name: node05
      - hostname: overcloud-novacompute-2
        name: node06

    默认情况下,置备过程使用 overcloud-full 镜像。您可以使用 instance 参数中的 image 属性来定义自定义镜像:

    - name: Controller
      count: 3
      instances:
      - hostname: overcloud-controller-0
        name: node00
        image:
          href: overcloud-custom

    您还可以用 defaults 参数覆盖默认参数值,以避免为每个节点条目手动定义节点:

    - name: Controller
      count: 3
      defaults:
        image:
          href: overcloud-custom
      instances:
      - hostname :overcloud-controller-0
        name: node00
      - hostname: overcloud-controller-1
        name: node01
      - hostname: overcloud-controller-2
        name: node02

    有关节点定义文件中可以使用的参数、属性和值的更多信息,请参阅 第 8.6 节 “裸机节点置备属性”

  4. 运行置备命令,指定 ~/overcloud-baremetal-deploy.yaml 文件,并使用 --output 选项定义输出文件:

    (undercloud) $ sudo openstack overcloud node provision \
    --stack stack \
    --output ~/overcloud-baremetal-deployed.yaml \
    ~/overcloud-baremetal-deploy.yaml

    置备过程会生成一个 heat 环境文件,其名称是您在 --output 选项中指定的名称。此文件包含节点定义。当您部署 overcloud 时,请将此文件包括在部署命令中。

  5. 在一个单独的终端中对节点进行监控以验证它们是否成功置备。置备过程将节点状态从 available 改为 active

    (undercloud) $ watch openstack baremetal node list

    使用 metalsmith 工具获取节点的统一视图,包括分配和 neutron 端口:

    (undercloud) $ metalsmith list

    您还可以使用 openstack baremetal allocate 命令来验证节点与主机名的关联,并为置备的节点获取 IP 地址:

    (undercloud) $ openstack baremetal allocation list

当节点置备成功时,您可以部署 overcloud。有关更多信息,请参见 第 9 章 使用预置备节点配置基本 overcloud