6장. 구성 가능 서비스


RHOSP(Red Hat OpenStack Platform)에는 사용자 지정 역할을 정의하고 역할에서 서비스 조합을 구성하는 기능이 포함되어 있습니다. 자세한 내용은 Advanced Overcloud Customization 가이드의 {defaultURL}/advanced_overcloud_customization/chap-roles[Composable Services and Custom Roles]를 참조하십시오. 통합의 일부로 고유한 사용자 지정 서비스를 정의하고 선택한 역할에 포함할 수 있습니다.

6.1. 구성 가능 서비스 아키텍처 검사

코어 heat 템플릿 컬렉션에는 구성 가능 서비스 템플릿 두 세트가 포함되어 있습니다.

  • Puppet/services 에는 구성 가능 서비스를 구성하기 위한 기본 템플릿이 포함되어 있습니다.
  • Docker/services 에는 주요 OpenStack Platform 서비스에 대한 컨테이너화된 템플릿이 포함되어 있습니다. 이러한 템플릿은 일부 기본 템플릿에 대해 보강하고 기본 템플릿으로 다시 참조합니다.

각 템플릿에는 용도를 식별하는 설명이 포함되어 있습니다. 예를 들어 ntp.yaml 서비스 템플릿에는 다음 설명이 포함되어 있습니다.

description: >
  NTP service deployment using puppet, this YAML file
  creates the interface between the HOT template
  and the puppet manifest that actually installs
  and configure NTP.

이러한 서비스 템플릿은 RHOSP 배포에 고유한 리소스로 등록됩니다. 즉, overcloud-resource-registry-puppet.j2.yaml 파일에 정의된 고유한 heat 리소스 네임스페이스를 사용하여 각 리소스를 호출할 수 있습니다. 모든 서비스는 해당 리소스 유형에 OS::TripleO::Services 네임스페이스를 사용합니다.

일부 리소스는 기본 구성 가능 서비스 템플릿을 직접 사용합니다.

resource_registry:
  ...
  OS::TripleO::Services::Ntp: puppet/services/time/ntp.yaml
  ...

그러나 코어 서비스에는 컨테이너가 필요하며 컨테이너화된 서비스 템플릿을 사용합니다. 예를 들어, keystone 컨테이너화된 서비스는 다음을 사용합니다.

resource_registry:
  ...
  OS::TripleO::Services::Keystone: docker/services/keystone.yaml
  ...

이러한 컨테이너화된 템플릿은 일반적으로 Puppet 구성을 포함하도록 기본 템플릿을 참조합니다. 예를 들어 docker/services/keystone.yaml 템플릿은 기본 템플릿의 출력을 KeystoneBase 매개변수에 저장합니다.

KeystoneBase:
  type: ../../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 가 생성됩니다.

roles_data.yaml 파일에서 각 사용자 지정 역할에 대한 기본 서비스를 정의합니다. 예를 들어 기본 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 매개변수의 기본 목록으로 정의됩니다.

환경 파일을 사용하여 서비스 매개변수의 기본 목록을 덮어쓸 수도 있습니다. 예를 들어 환경 파일에서 ControllerServicesparameter_default 로 정의하여 roles_data.yaml 파일의 서비스 목록을 덮어쓸 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.