第 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 分配为部署中的 Compute 调度程序匹配的每个节点功能:
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
。 -
Ceph Storage 节点的
CephStorageSchedulerHints
。 -
[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