6.6. 创建新角色
您可以使用可组合服务架构根据部署的要求创建新角色。例如,您可能希望仅创建一个新的 Horizon
角色来仅托管 OpenStack 控制面板(horizon
)。
角色名称必须以字母或数字结尾,并且仅包含字母、数字和连字符。角色名称中不得使用下划线。
流程
创建默认
roles
目录的自定义副本:cp -r /usr/share/openstack-tripleo-heat-templates/roles ~/.
$ cp -r /usr/share/openstack-tripleo-heat-templates/roles ~/.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建名为
~/roles/114.yaml
的新文件,并创建一个包含基本和核心 OpenStack 仪表板服务的新Horizon
角色:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
CountDefault
设置为1
,以便默认 overcloud 始终包含Horizon
节点。可选:如果要扩展现有 overcloud 中的服务,请在
Controller
角色中保留现有服务。如果要创建新 overcloud,并且希望 OpenStack 控制面板保留在独立角色上,请从Controller
角色定义中删除 OpenStack Dashboard 组件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
~/roles
目录作为源生成新的roles_data-horizon.yaml
文件:openstack overcloud roles generate -o roles_data-horizon.yaml \ --roles-path ~/roles \ Controller Compute Horizon
$ openstack overcloud roles generate -o roles_data-horizon.yaml \ --roles-path ~/roles \ Controller Compute Horizon
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为此角色定义一个新类别,以便您可以标记特定的节点。在本例中,使用以下命令创建一个
horizon
类别:创建
horizon
类别:openstack flavor create --id auto --ram 6144 --disk 40 --vcpus 4 horizon
(undercloud)$ openstack flavor create --id auto --ram 6144 --disk 40 --vcpus 4 horizon
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意这些属性不用于调度实例,但计算调度程序将使用磁盘大小来确定根分区大小。
使用自定义资源类为 Dashboard 服务(horizon)标记您要指定的每个裸机节点:
openstack baremetal node set --resource-class baremetal.HORIZON <NODE>
(undercloud)$ openstack baremetal node set --resource-class baremetal.HORIZON <NODE>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<NODE>
替换为裸机节点的 ID。将
horizon
类别与自定义资源类关联:openstack flavor set --property resources:CUSTOM_BAREMETAL_HORIZON=1 horizon
(undercloud)$ openstack flavor set --property resources:CUSTOM_BAREMETAL_HORIZON=1 horizon
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要确定与裸机节点的资源类对应的自定义资源类的名称,请将资源类转换为大写,用下划线替换 punctuation,并使用
CUSTOM_
前缀。注意类别只能请求一个裸机资源类实例。
设置以下类别属性,以防止计算调度程序使用裸机类别属性来调度实例:
openstack flavor set --property resources:VCPU=0 --property resources:MEMORY_MB=0 --property resources:DISK_GB=0 horizon
(undercloud)$ openstack flavor set --property resources:VCPU=0 --property resources:MEMORY_MB=0 --property resources:DISK_GB=0 horizon
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使用以下环境文件片断定义 Horizon 节点数和类型:
parameter_defaults: OvercloudHorizonFlavor: horizon HorizonCount: 1
parameter_defaults: OvercloudHorizonFlavor: horizon HorizonCount: 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
openstack overcloud deploy
命令中包含新的roles_data-horizon.yaml
文件和环境文件,以及与部署相关的任何其他环境文件:openstack overcloud deploy --templates -r ~/templates/roles_data-horizon.yaml -e ~/templates/node-count-flavor.yaml
$ openstack overcloud deploy --templates -r ~/templates/roles_data-horizon.yaml -e ~/templates/node-count-flavor.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此配置会创建一个三节点 overcloud,它由一个 Controller 节点、一个 Compute 节点和一个 Networker 节点组成。要查看 overcloud 中的节点列表,请运行以下命令:
openstack server list
$ openstack server list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow