Red Hat Training

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

7.2.2. 创建 roles_data 文件

虽然您可以手动创建自定义 roles_data 文件,但也可以使用单个角色模板自动生成文件。director 提供了几个命令来管理角色模板,并自动生成自定义 roles_data 文件。

要列出默认角色模板,请使用 openstack overcloud role list 命令:

$ openstack overcloud role list
BlockStorage
CephStorage
Compute
ComputeHCI
ComputeOvsDpdk
Controller
...

要查看角色的 YAML 定义,请使用 openstack overcloud role show 命令:

$ openstack overcloud role show Compute

要生成自定义 roles_data 文件,请使用 openstack overcloud roles generate 命令将多个预定义角色加入到一个文件中。例如,以下命令将控制器、ComputeNetworker 角色加入到一个文件中:

$ openstack overcloud roles generate -o ~/roles_data.yaml Controller Compute Networker

-o 定义要创建的文件的名称。

这会创建自定义 roles_data 文件。但是,上例使用 ControllerNetworker 角色,这些角色都包含相同的网络代理。这意味着网络服务从控制器扩展到 Networker 角色。overcloud 在 ControllerNetworker 节点之间平衡网络服务的负载。

要使这个 Networker 角色独立,您可以创建自己的自定义 Controller 角色,以及所需的任何其他角色。这样,您可以从自己的自定义角色轻松生成 roles_data 文件。

将目录从核心 Heat 模板集合复制到 stack 用户的主目录:

$ cp -r /usr/share/openstack-tripleo-heat-templates/roles ~/.

在此目录中添加或修改自定义角色文件。将 --roles-path 选项用于上述任何角色子命令中的 --roles-path 选项,以将此目录用作自定义角色的源。例如:

$ openstack overcloud roles generate -o my_roles_data.yaml \
  --roles-path ~/roles \
  Controller Compute Networker

这会从 ~/roles 目录中的各个角色生成单个 my_roles_data.yaml 文件。

注意

默认角色集合还包含 ControllerOpenStack 角色,该角色不包括 网络者消息传递和数据库 角色的服务。您可以将 ControllerOpenStack 与独立 网络器消息传递和数据库 角色结合使用。