搜索

2.5. 检查角色参数

download PDF

每个角色包含以下参数:

name
(必需) 角色的名称,这是没有空格或特殊字符的纯文本名称。检查所选名称不会导致与其他资源冲突。例如,使用 Networker 作为名称而不是 Network
description
(可选) 角色的纯文本描述。
tags

(可选) 定义角色属性的标签的 YAML 列表。使用此参数定义主角色,带有 controllerprimary 标签:

- name: Controller
  ...
  tags:
    - primary
    - controller
  ...
重要

如果您没有标记主要角色,则您定义的第一个角色将成为主要角色。确保此角色是 Controller 角色。

networks

要在角色上配置的网络的 YAML 列表或字典。如果使用 YAML 列表,请列出每个可组合网络:

  networks:
    - External
    - InternalApi
    - Storage
    - StorageMgmt
    - Tenant

如果您使用一个字典,请将每个网络映射到可组合网络中的一个特定的子网

  networks:
    External:
      subnet: external_subnet
    InternalApi:
      subnet: internal_api_subnet
    Storage:
      subnet: storage_subnet
    StorageMgmt:
      subnet: storage_mgmt_subnet
    Tenant:
      subnet: tenant_subnet

默认网络包括 External, InternalApi, Storage, StorageMgmt, Tenant, 和 Management

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
update_serial

(可选) 定义在 OpenStack 更新选项期间同时更新的节点数量。在默认的 roles_data.yaml 文件中:

  • 对于 Controller、Object Storage 和 Ceph Storage 节点,默认为 1
  • Compute 和 Block Storage 节点的默认值为 25

如果从自定义角色中省略此参数,则默认为 1

ServicesDefault
(可选) 定义要在节点上包含的默认服务列表。更多信息请参阅 第 2.10 节 “检查可组合服务架构”

您可以使用这些参数创建新角色,并定义角色中包含的服务。

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 资源。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.