Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

第 14 章 控制节点放置

director 的默认行为是为每个角色随机选择节点,这通常基于其配置集标签。但是,director 提供了定义特定节点放置的功能。这是以下几个有用的方法:

  • 分配特定的节点 ID,如 controller-0controller-1
  • 分配自定义主机名
  • 分配特定的 IP 地址
  • 分配特定的虚拟 IP 地址
注意

手动设置可预测 IP 地址、虚拟 IP 地址和端口,可以减轻分配池的需求。但是,建议为每个网络保留分配池,以便轻松扩展新节点。确保静态定义的 IP 地址不在分配池之外。有关设置分配池的更多信息,请参阅 第 11.7 节 “自定义网络环境文件”

14.1. 分配特定节点 ID

此流程为特定节点分配节点 ID。节点 ID 示例包括 controller-0controller-1compute-0compute-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 ...