Red Hat Training
A Red Hat training course is available for Red Hat OpenStack Platform
6.2. Composable Service Architecture 검사
코어 Heat 템플릿 컬렉션에는 puppet/services 하위 디렉터리에 있는 구성 가능 서비스 템플릿 컬렉션이 포함되어 있습니다. 다음 명령을 사용하여 이러한 서비스를 볼 수 있습니다.
$ ls /usr/share/openstack-tripleo-heat-templates/puppet/services
각 서비스 템플릿에는 목적을 식별하는 설명이 포함되어 있습니다. 예를 들어 keystone.yaml 서비스 템플릿에는 다음 설명이 포함되어 있습니다.
description: > OpenStack Identity (`keystone`) service configured with Puppet
이러한 서비스 템플릿은 Red Hat OpenStack Platform 배포와 관련된 리소스로 등록됩니다. 즉, overcloud-resource-registry-puppet.j2.yaml 파일에 정의된 고유한 Heat 리소스 네임스페이스를 사용하여 각 리소스를 호출할 수 있습니다. 모든 서비스는 리소스 유형에 OS::TripleO::Services 네임스페이스를 사용합니다. 예를 들어 keystone.yaml 서비스 템플릿은 OS::TripleO::Services::Keystone 리소스 유형에 등록됩니다.
grep "OS::TripleO::Services::Keystone" /usr/share/openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.j2.yaml OS::TripleO::Services::Keystone: puppet/services/keystone.yaml
overcloud.j2.yaml Heat 템플릿에는 roles_data.yaml 파일에서 각 사용자 지정 역할에 대한 서비스 목록을 정의하는 Jinja2 기반 코드의 섹션이 포함되어 있습니다.
{{role.name}}Services:
description: A list of service resources (configured in the Heat
resource_registry) which represent nested stacks
for each service that should get installed on the {{role.name}} role.
type: comma_delimited_list
default: {{role.ServicesDefault|default([])}}
기본 역할의 경우 ControllerServices,ComputeServices,BlockStorageServices,ObjectStorageServices, CephStorageServices , CephStorageServices 등의 서비스 목록 매개변수가 생성됩니다.
roles_data.yaml 파일에서 각 사용자 지정 역할에 대한 기본 서비스를 정의합니다. 예를 들어 default Controller 역할에는 다음 내용이 포함됩니다.
- name: Controller
CountDefault: 1
ServicesDefault:
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::CephMon
- OS::TripleO::Services::CephExternal
- OS::TripleO::Services::CephRgw
- OS::TripleO::Services::CinderApi
- OS::TripleO::Services::CinderBackup
- OS::TripleO::Services::CinderScheduler
- OS::TripleO::Services::CinderVolume
- OS::TripleO::Services::Core
- OS::TripleO::Services::Kernel
- OS::TripleO::Services::Keystone
- OS::TripleO::Services::GlanceApi
- OS::TripleO::Services::GlanceRegistry
...
그런 다음 이러한 서비스는 ControllerServices 매개변수의 기본 목록으로 정의됩니다.
환경 파일을 사용하여 서비스 매개변수의 기본 목록을 덮어쓸 수도 있습니다. 예를 들어, ControllerServices 를 환경 파일에서 parameter_default 로 정의하여 roles_data.yaml 파일의 서비스 목록을 덮어쓸 수 있습니다.