2.3. 创建 roles_data 文件
虽然您可以手动创建自定义 roles_data 文件,但您也可以使用单独的角色模板自动生成该文件。director 提供 openstack overcloud role generate 命令来加入多个预定义角色,并自动生成自定义 roles_data 文件。
流程
列出默认角色模板:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查看角色定义:
openstack overcloud role show Compute
$ openstack overcloud role show ComputeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 生成包含
Controller、Compute和Networker角色的自定义roles_data.yaml文件:openstack overcloud roles \ generate -o <custom_role_file> \ Controller Compute Networker
$ openstack overcloud roles \ generate -o <custom_role_file> \ Controller Compute NetworkerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<custom_role_file>替换为要生成的新角色文件的名称和位置,如/home/stack/templates/roles_data.yaml。注意Controller和Networker角色包含相同的网络代理。这意味着网络服务从Controller角色扩展到Networker角色,overcloud 会平衡Controller和Networker节点之间网络服务的负载。要使此
Networker角色独立,您可以创建自己的自定义Controller角色,以及您需要的任何其他角色。这可让您从您自己的自定义角色生成roles_data.yaml文件。
将
roles目录从核心 heat 模板集合复制到stack用户的主目录:cp -r /usr/share/openstack-tripleo-heat-templates/roles/. /home/stack/templates/roles/
$ cp -r /usr/share/openstack-tripleo-heat-templates/roles/. /home/stack/templates/roles/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加或修改此目录中的自定义角色文件。使用带有任何角色子命令的
--roles-path选项,将这个目录用作自定义角色的源:openstack overcloud role \ generate -o my_roles_data.yaml \ --roles-path /home/stack/templates/roles \ Controller Compute Networker
$ openstack overcloud role \ generate -o my_roles_data.yaml \ --roles-path /home/stack/templates/roles \ Controller Compute NetworkerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令从
~/roles目录中的单个角色生成单个my_roles_data.yaml文件。
默认角色集合还包含 ControllerOpenstack 角色,该角色不包括 Networker, Messaging, 和 Database 角色的服务。您可以将 ControllerOpenstack 与独立的 Networker, Messaging, 和 Database 角色结合使用。