3.5. 为单元角色设计主机
要为单元角色指定裸机节点,您必须使用资源类配置裸机节点,以标记单元角色的节点。执行以下步骤为 cellcontrollercell1
角色创建裸机资源类。通过用自定义角色的名称替换单元控制器名称,为每个自定义角色重复此步骤。
以下流程适用于尚未调配的新 overcloud 节点。要将资源类分配给已调配的现有 overcloud 节点,请缩减 overcloud 以取消置备节点,然后扩展 overcloud,以使用新的资源类分配来重新置备节点。有关更多信息,请参阅 扩展 overcloud 节点。
流程
-
将
cellcontrollercell1
角色添加到节点定义模板:node.json
或node.yaml
,为 cellcontrollercell1 角色注册裸机节点。有关更多信息,请参阅 安装和管理 Red Hat OpenStack Platform 指南中的 为 overcloud 注册节点。 检查节点硬件:
(undercloud)$ openstack overcloud node introspect \ --all-manageable --provide
如需更多信息,请参阅 安装和管理 Red Hat OpenStack Platform 指南中的创建 裸机节点硬件清单。
检索节点列表来识别它们的 UUID:
(undercloud)$ openstack baremetal node list
标记您要指定为单元控制器的每个裸机节点,并带有自定义单元控制器资源类:
(undercloud)$ openstack baremetal node set \ --resource-class baremetal.CELL-CONTROLLER <node>
-
将
<node>
替换为裸机节点的名称或 UUID。
-
将
将
cellcontrollercell1
角色添加到节点定义文件overcloud-baremetal-deploy.yaml
中,并定义您要分配给节点的任何预先节点放置、资源类、网络拓扑或其他属性:- name: cellcontrollercell1 count: 1 defaults: resource_class: baremetal.CELL1-CONTROLLER network_config: template: /home/stack/templates/nic-config/<role_topology_file> instances: - hostname: cell1-cellcontroller-%index% name: cell1controller
将
<role_topology_file
> 替换为用于cellcontrollercell1
角色的网络拓扑文件的名称,如cell1_controller_net_top.j2
。您可以重复使用现有网络拓扑,或为角色或单元创建新的自定义网络接口模板。如需更多信息,请参阅使用 director 安装和管理 Red Hat OpenStack Platform 指南中的 自定义网络接口模板。要使用默认网络定义设置,请不要在角色定义中包含network_config
。有关您可以在节点定义文件中配置节点属性的属性的更多信息,请参阅 裸机节点置备属性。有关节点定义文件的示例,请参阅 节点定义文件 示例。
为您的角色置备新节点:
(undercloud)$ openstack overcloud node provision \ [--stack <stack>] \ [--network-config \] --output <deployment_file> \ /home/stack/templates/overcloud-baremetal-deploy.yaml
-
可选:将
<stack>
替换为置备裸机节点的堆栈的名称。默认为overcloud
。 -
可选:包含
--network-config
可选参数,为cli-overcloud-node-network-config.yaml
Ansible playbook 提供网络定义。如果您使用network_config
属性在节点定义文件中未定义网络定义,则使用默认网络定义。 -
将
<deployment_file>
替换为用于部署命令生成的 heat 环境文件的名称,如/home/stack/templates/overcloud-baremetal-deployed.yaml
。
-
可选:将
在一个单独的终端中监控置备进度。当置备成功时,节点状态将从
available
变为active
:(undercloud)$ watch openstack baremetal node list
如果您在没有
--network-config
选项运行 provisioning 命令,请在network-environment.yaml
文件中配置<Role>NetworkConfigTemplate
参数以指向 NIC 模板文件:parameter_defaults: ComputeNetworkConfigTemplate: /home/stack/templates/nic-configs/compute.j2 CellControllerCell1NetworkConfigTemplate: /home/stack/templates/nic-configs/<role_topology_file> ControllerNetworkConfigTemplate: /home/stack/templates/nic-configs/controller.j2
-
将
<role_topology_file
> 替换为包含cellcontrollercell1
角色的网络拓扑的文件的名称,如cell1_controller_net_top.j2
。设置为controller.j2
以使用默认网络拓扑。
-
将