第 13 章 控制节点放置
默认情况下,director 会随机选择各个角色的节点,通常根据节点的 profile 标签。但是,您还可以定义特定的节点放置。这在以下情况中很有用:
-
分配特定节点 ID,如
controller-0、controller-1 - 分配自定义主机名
- 分配特定的 IP 地址
- 分配特定的虚拟 IP 地址
为网络手动设置可预测的 IP 地址、虚拟 IP 地址和端口,从而降低分配池需求。但是,建议为每个网络保留分配池,以简化扩展新节点。确保任何静态定义的 IP 地址都位于分配池之外。
13.1. 分配特定节点 ID 复制链接链接已复制到粘贴板!
您可以将节点 ID 分配给特定的节点,例如 controller-0、controller-1、compute-0 和 compute-1。
流程
将 ID 分配为计算调度程序在部署时匹配的每个节点功能:
openstack baremetal node set --property capabilities='node:controller-0,boot_option:local' <id>
openstack baremetal node set --property capabilities='node:controller-0,boot_option:local' <id>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令将能力
node:controller-0分配给节点。使用唯一连续索引重复此模式,从 0 开始用于所有节点。确保给定角色的所有节点(Controller、Compute 或每个存储角色)都以相同的方式标记,或者计算调度程序无法正确匹配该功能。创建一个 heat 环境文件(如
scheduler_hints_env.yaml),该文件使用调度程序提示来匹配每个节点的功能:parameter_defaults: ControllerSchedulerHints: 'capabilities:node': 'controller-%index%'parameter_defaults: ControllerSchedulerHints: 'capabilities:node': 'controller-%index%'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下参数为其他角色类型配置调度程序提示:
-
Controller 节点的
ControllerSchedulerHints。 -
Compute 节点的
ComputeSchedulerHints。 -
Block Storage 节点的
BlockStorageSchedulerHints。 -
Object Storage 节点的
ObjectStorageSchedulerHints。 -
CephStorageSchedulerHints用于 Ceph Storage 节点。 -
[ROLE]SchedulerHints用于自定义角色。将[ROLE]替换为角色名称。
-
Controller 节点的
-
在
overcloud deploy 命令中包含scheduler_hints_env.yaml环境文件。
节点放置优先于配置集匹配。为避免调度失败,请使用默认 baremetal 类型进行部署,而不是为配置集匹配设计的类别(计算、控制):在环境文件中将对应的 flavor 参数设置为 baremetal:
parameter_defaults: OvercloudControllerFlavor: baremetal OvercloudComputeFlavor: baremetal
parameter_defaults:
OvercloudControllerFlavor: baremetal
OvercloudComputeFlavor: baremetal