第 8 章 部署 overcloud 前置备裸机节点
该功能在此发行版本中作为技术预览提供,因此不享有红帽的全面支持。它只应用于测试,不应部署在生产环境中。有关技术预览功能的更多信息,请参阅覆盖范围详细信息。
overcloud 部署过程包含两个主要操作:
- 置备节点
- 部署 overcloud
如果您将这些操作划分为不同的过程,您可以降低这个过程带来的风险,并更有效地识别故障点:
置备裸机节点。
- 以 yaml 格式创建节点定义文件。
- 运行 provisioning 命令,包括节点定义文件。
部署 overcloud。
- 运行部署命令,包括置备命令生成的 heat 环境文件。
置备过程会置备节点并生成包含各种节点规格的 heat 环境文件,包括节点数、预先节点放置、自定义镜像和自定义 NIC。当您部署 overcloud 时,请将此文件包括在部署命令中。
您无法将预置备节点与 director 置备的节点合并。
8.1. 为 overcloud 注册节点
director 需要一个节点定义模板,这个模板由您手动创建。此模板使用 JSON 或 YAML 格式,并包含节点的硬件和电源管理详细信息。
步骤
创建列出节点的模板。使用以下 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_64
和ppc64le
架构的节点。
创建模板后,运行以下命令验证格式和语法:
(undercloud) $ openstack overcloud node import --validate-only ~/nodes.json
将文件保存到
stack
用户的主目录 (/home/stack/nodes.json
),然后运行以下命令将模板导入 director:$ source ~/stackrc (undercloud) $ openstack overcloud node import ~/nodes.json
此命令通过模板将每个节点注册到 director 中。
等待节点完成注册和配置。完成后,确认 director 已成功注册节点:
(undercloud) $ openstack baremetal node list