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
,Tenant
및Management
가 포함됩니다.- 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
입니다.-
기본값은 Controller, Object Storage 및 Ceph Storage 노드의 경우
- 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
리소스 이름을 지정합니다.