6.5. 역할 매개변수 검사

각 역할에는 다음 매개변수가 포함됩니다.

name
(필수) 공백이나 특수 문자가 없는 일반 텍스트 이름인 역할의 이름입니다. 선택한 이름이 다른 리소스와 충돌하지 않는지 확인합니다. 예를 들어 Network 대신 Network er 를 사용합니다.
description
(선택 사항) 역할에 대한 일반 텍스트 설명입니다.
tags

(선택 사항) 역할 속성을 정의하는 태그의 YAML 목록입니다. 이 매개변수를 사용하여 컨트롤러와 기본 태그 둘 다로 기본 역할을 정의합니다.

- name: Controller
  ...
  tags:
    - primary
    - controller
  ...
중요

기본 역할에 태그를 지정하지 않으면 정의한 첫 번째 역할이 기본 역할이 됩니다. 이 역할이 Controller 역할인지 확인합니다.

네트워크

역할에 구성할 네트워크의 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, Storage Mgmt,TenantManagement 가 포함됩니다.

CountDefault
(선택 사항) 이 역할에 배포할 기본 노드 수를 정의합니다.
HostnameFormatDefault

(선택 사항) 역할에 대한 기본 호스트 이름 형식을 정의합니다. 기본 명명 규칙은 다음 형식을 사용합니다.

[STACK NAME]-[ROLE NAME]-[NODE ID]

예를 들어 기본 컨트롤러 노드의 이름은 다음과 같습니다.

overcloud-controller-0
overcloud-controller-1
overcloud-controller-2
...
disable_constraints
(선택 사항) director와 함께 배포할 때 OpenStack Compute(nova) 및 OpenStack Image Storage(glance) 제약 조건을 비활성화할지 여부를 정의합니다. 사전 프로비저닝된 노드가 있는 오버클라우드를 배포할 때 이 매개변수를 사용합니다. 자세한 내용은 Director 설치 및 사용 가이드의 사전 프로비저닝된 노드로 기본 오버클라우드 설정을 참조하십시오.
update_serial

(선택 사항) OpenStack 업데이트 옵션 중에 동시에 업데이트할 노드 수를 정의합니다. 기본 roles_data.yaml 파일에서 다음을 수행합니다.

  • 기본값은 Controller, Object Storage 및 Ceph Storage 노드의 경우 1 입니다.
  • Compute 및 Block Storage 노드의 기본값은 25 입니다.

사용자 지정 역할에서 이 매개변수를 생략하면 기본값은 1 입니다.

ServicesDefault
(선택 사항) 노드에 포함할 기본 서비스 목록을 정의합니다. 자세한 내용은 6.8절. “구성 가능 서비스 아키텍처 검사”의 내용을 참조하십시오.

이러한 매개 변수를 사용하여 새 역할을 생성하고 역할에 포함할 서비스를 정의할 수도 있습니다.

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 리소스 이름을 지정합니다.