第 8 章 部署 overcloud 前置备裸机节点

重要

该功能在此发行版本中作为技术预览提供,因此不享有红帽的全面支持。它只应用于测试,不应部署在生产环境中。有关技术预览功能的更多信息,请参阅覆盖范围详细信息

overcloud 部署过程包含两个主要操作:

  • 置备节点
  • 部署 overcloud

如果您将这些操作划分为不同的过程,您可以降低这个过程带来的风险,并更有效地识别故障点:

  1. 置备裸机节点。

    1. 以 yaml 格式创建节点定义文件。
    2. 运行 provisioning 命令,包括节点定义文件。
  2. 部署 overcloud。

    1. 运行部署命令,包括置备命令生成的 heat 环境文件。

置备过程会置备节点并生成包含各种节点规格的 heat 环境文件,包括节点数、预先节点放置、自定义镜像和自定义 NIC。当您部署 overcloud 时,请将此文件包括在部署命令中。

重要

您无法将预置备节点与 director 置备的节点合并。

8.1. 为 overcloud 注册节点

director 需要一个节点定义模板,这个模板由您手动创建。此模板使用 JSON 或 YAML 格式,并包含节点的硬件和电源管理详细信息。

步骤

  1. 创建列出节点的模板。使用以下 JSON 和 YAML 模板示例了解如何创建节点定义模板的结构:

    示例 JSON 模板

    {
        "nodes":[
            {
                "mac":[
                    "bb:bb:bb:bb:bb:bb"
                ],
                "name":"node01",
                "cpu":"4",
                "memory":"6144",
                "disk":"40",
                "arch":"x86_64",
                "pm_type":"ipmi",
                "pm_user":"admin",
                "pm_password":"p@55w0rd!",
                "pm_addr":"192.168.24.205"
            },
            {
                "mac":[
                    "cc:cc:cc:cc:cc:cc"
                ],
                "name":"node02",
                "cpu":"4",
                "memory":"6144",
                "disk":"40",
                "arch":"x86_64",
                "pm_type":"ipmi",
                "pm_user":"admin",
                "pm_password":"p@55w0rd!",
                "pm_addr":"192.168.24.206"
            }
        ]
    }

    示例 YAML 模板

    nodes:
      - mac:
          - "bb:bb:bb:bb:bb:bb"
        name: "node01"
        cpu: 4
        memory: 6144
        disk: 40
        arch: "x86_64"
        pm_type: "ipmi"
        pm_user: "admin"
        pm_password: "p@55w0rd!"
        pm_addr: "192.168.24.205"
      - mac:
          - cc:cc:cc:cc:cc:cc
        name: "node02"
        cpu: 4
        memory: 6144
        disk: 40
        arch: "x86_64"
        pm_type: "ipmi"
        pm_user: "admin"
        pm_password: "p@55w0rd!"
        pm_addr: "192.168.24.206"

    此模板包含以下属性:

    name
    节点的逻辑名称。
    pm_type

    要使用的电源管理驱动程序。此示例使用 IPMI 驱动程序 (ipmi)。

    注意

    IPMI 是首选的受支持电源管理驱动程序。有关支持的电源管理类型及其选项的更多信息,请参阅 附录 A, 电源管理驱动。如果这些电源管理驱动程序不能正常工作,请将 IPMI 用于电源管理。

    pm_user; pm_password
    IPMI 的用户名和密码。
    pm_addr
    IPMI 设备的 IP 地址。
    pm_port(可选)
    访问特定 IPMI 设备的端口。
    mac
    (可选)节点上网络接口的 MAC 地址列表。对于每个系统的 Provisioning NIC,只使用 MAC 地址。
    cpu
    节点上的 CPU 数量。(可选)
    memory
    以 MB 为单位的内存大小。(可选)
    disk
    以 GB 为单位的硬盘的大小。(可选)
    arch

    系统架构。 (可选)

    重要

    在构建多架构云时,arch 键是必需的,用于区分使用 x86_64ppc64le 架构的节点。

  2. 创建模板后,运行以下命令验证格式和语法:

    $ source ~/stackrc
    (undercloud) $ openstack overcloud node import --validate-only ~/nodes.json
  3. 将文件保存到 stack 用户的主目录 (/home/stack/nodes.json),然后运行以下命令将模板导入 director:

    (undercloud) $ openstack overcloud node import ~/nodes.json

    此命令通过模板将每个节点注册到 director 中。

  4. 等待节点完成注册和配置。完成后,确认 director 已成功注册节点:

    (undercloud) $ openstack baremetal node list