Red Hat Training
A Red Hat training course is available for Red Hat OpenStack Platform
7.2.4. 检查角色参数
每个角色使用以下参数:
- name
-
(必需) 角色的名称,它是没有空格或特殊字符的纯文本名称。检查所选名称是否不会导致与其他资源冲突。例如,使用
Networker
作为名称,而不是Network
。 - description
- (可选) 角色纯文本描述。
- tags
(可选) o 定义角色属性的标签的 YAML 列表。使用此参数将
控制器和
主标签一起定义主要角色
:- name: Controller ... tags: - primary - controller ...
如果没有标记主要角色,定义的第一个角色将成为主要角色。确保此角色是 Controller 角色。
- 网络
要在角色上配置的网络 YAML 列表:
networks: - External - InternalApi - Storage - StorageMgmt - Tenant
默认网络包括
外部
、InternalApi
、存储
、StorageMgmt
、Tenant
,以及管理。- CountDefault
- (可选) 定义要为此角色部署的默认节点数量。
- HostnameFormatDefault
(可选) 定义角色的默认主机名格式。默认命名规则使用以下格式:
[STACK NAME]-[ROLE NAME]-[NODE ID]
例如,默认的 Controller 节点被命名:
overcloud-controller-0 overcloud-controller-1 overcloud-controller-2 ...
- disable_constraints
- (可选) 定义在使用 director 部署时是否禁用 OpenStack Compute (nova)和 OpenStack Image Storage (glance)约束。使用预置备节点部署 overcloud 时使用。有关更多信息,请参阅 Director 安装和使用 指南中的 "使用预置备节点配置基本 Overcloud "。
- disable_upgrade_deployment
- (可选) 定义是否为特定角色禁用升级。这提供了一种升级角色中各个节点的方法,并确保服务的可用性。例如,Compute 和 Swift Storage 角色使用此参数。
- update_serial
(可选) 定义在 OpenStack 更新选项中同时要更新的节点数量。在默认的
roles_data.yaml
文件中:-
默认为 Controller、Object Storage 和 Ceph Storage 节点的
1
。 -
Compute 和 Block Storage 节点的默认值为
25
。
如果从自定义角色省略此参数,则默认为
1
。-
默认为 Controller、Object Storage 和 Ceph Storage 节点的
- ServicesDefault
- (可选) 定义要在节点上包括的服务的默认列表。如需更多信息,请参阅 第 7.3.2 节 “检查可组合的服务架构”。
这些参数提供了创建新角色以及定义要包含哪些服务的方法。
openstack overcloud deploy
命令将参数从 roles_data
文件集成到一些基于 Jinja2 的模板。例如,在某些点上,overcloud.j2.yaml
Heat 模板会迭代 roles_data.yaml
中的角色列表,并创建特定于各个角色的参数和资源。
overcloud.j2.yaml
Heat 模板中每个角色的资源定义显示为以下代码片段:
{{role.name}}: type: OS::Heat::ResourceGroup depends_on: Networks properties: count: {get_param: {{role.name}}Count} removal_policies: {get_param: {{role.name}}RemovalPolicies} resource_def: type: OS::TripleO::{{role.name}} properties: CloudDomain: {get_param: CloudDomain} ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]} EndpointMap: {get_attr: [EndpointMap, endpoint_map]} ...
此片段显示基于 Jinja2 的模板如何融合 {{role.name}}
变量,将每个角色的名称定义为 OS::Heat::ResourceGroup
资源。反过来,使用 roles_data
文件中的每个 name
参数来命名每个对应的 OS::Heat::ResourceGroup
资源。