Red Hat Training
A Red Hat training course is available for Red Hat OpenStack Platform
第 14 章 控制节点放置
director 的默认行为是为每个角色随机选择节点,这通常基于其配置集标签。但是,director 提供了定义特定节点放置的功能。这是以下几个有用的方法:
-
分配特定的节点 ID,如
controller-0
、controller-1
等 - 分配自定义主机名
- 分配特定的 IP 地址
- 分配特定的虚拟 IP 地址
手动设置可预测 IP 地址、虚拟 IP 地址和端口,可以减轻分配池的需求。但是,建议为每个网络保留分配池,以便轻松扩展新节点。确保静态定义的 IP 地址不在分配池之外。有关设置分配池的更多信息,请参阅 第 11.7 节 “自定义网络环境文件”。
14.1. 分配特定节点 ID
此流程为特定节点分配节点 ID。节点 ID 示例包括 controller-0
、controller-1
、compute-0
、compute-1
等。
第一步是将 ID 分配为部署时与计算调度程序匹配的每个节点功能。例如:
openstack baremetal node set --property capabilities='node:controller-0,boot_option:local' <id>
这会将功能 node:controller-0
分配给节点。为所有节点使用唯一连续索引(从 0 开始)重复此模式。确保给定角色(Controller、Compute 或每个存储角色)的所有节点都相同,否则计算调度程序将不会正确匹配功能。
下一步是使用调度程序提示来匹配每个节点的功能,创建 Heat 环境文件(如 scheduler_hints_env.yaml
)。例如:
parameter_defaults: ControllerSchedulerHints: 'capabilities:node': 'controller-%index%'
要使用这些调度程序提示,请在 Overcloud 创建过程中包括 ' scheduler_hints_env.yaml' 环境文件及 overcloud deploy 命令
。
每个角色都可以通过这些参数进行相同的方法:
-
Controller 节点的
ControllerSchedulerHints
。 -
ComputeSchedulerHints
用于 Compute 节点。 -
BlockStorageSchedulerHints
for Block Storage 节点。 -
ObjectStorageSchedulerHints
for Object Storage 节点。 -
Ceph Storage 节点的
CephStorageSchedulerHints
。 -
[ROLE]SchedulerHints
,用于自定义角色。用角色名称替换[ROLE]
。
节点放置优先于配置集匹配。为避免调度失败,请使用默认的 baremetal
类别进行部署,而不是为配置文件匹配的类别(计算
、控制
等)。例如:
$ openstack overcloud deploy ... --control-flavor baremetal --compute-flavor baremetal ...