6.3. 创建 roles_data 文件
虽然您可以手动创建自定义 roles_data
文件,但您也可以使用单独的角色模板自动生成文件。director 提供多个命令来管理角色模板并自动生成自定义 roles_data
文件。
流程
列出默认角色模板:
$ openstack overcloud roles list BlockStorage CephStorage Compute ComputeHCI ComputeOvsDpdk Controller ...
使用
openstack overcloud roles show
命令查看 YAML 格式的角色定义:$ openstack overcloud roles show Compute
生成自定义
roles_data
文件。使用openstack overcloud roles generate
命令将多个预定义角色加入到一个文件中。例如,运行以下命令生成roles_data.yaml
文件,该文件包含Controller
,Compute
, 和Networker
角色:$ openstack overcloud roles generate -o ~/roles_data.yaml Controller Compute Networker
使用
-o
选项定义输出文件的名称。此命令创建自定义
roles_data
文件。但是,上例使用Controller
和Networker
角色,它们都使用相同的网络代理。这意味着网络服务从Controller
角色扩展到Networker
角色,overcloud 会在Controller
和Networker
节点之间平衡网络服务的负载。要使此
Networker
角色独立,您可以创建自己的自定义角色角色,以及您需要的任何其他角色。这可让您从您自己的自定义角色生成
roles_data
文件。将目录从核心 heat 模板集合复制到
stack
用户的主目录:$ cp -r /usr/share/openstack-tripleo-heat-templates/roles ~/.
在此目录中添加或修改自定义角色文件。将
--roles-path
选项与任何 role 子命令一起使用,将这个目录用作自定义角色的源:$ openstack overcloud roles generate -o my_roles_data.yaml \ --roles-path ~/roles \ Controller Compute Networker
此命令从
~/roles
目录中的单独角色生成单个my_roles_data.yaml
文件。
默认角色集合还包含 ControllerOpenStack
角色,该角色不包括 Networker
, Messaging
, 和 Database
角色的服务。您可以将 ControllerOpenStack
与独立 Networker
, Messaging
, and Database
角色结合使用。