검색

6장. 구성 가능 서비스 및 사용자 정의 역할

download PDF

Overcloud는 일반적으로 컨트롤러 노드, 컴퓨팅 노드 및 다른 스토리지 노드 유형과 같은 사전 정의된 역할의 노드로 구성됩니다. 이러한 각 기본 역할에는 director 노드의 코어 Heat 템플릿 컬렉션에 정의된 서비스 세트가 포함되어 있습니다. 그러나 코어 Heat 템플릿의 아키텍처는 다음과 같은 방법을 제공합니다.

  • 사용자 정의 역할 생성
  • 각 역할에서 서비스 추가 및 제거

이 장에서는 사용자 정의 역할, 구성 가능 서비스 및 사용 방법의 아키텍처를 살펴봅니다.

지침 및 제한 사항

구성 가능 노드 아키텍처에 대한 다음 지침 및 제한 사항에 유의하십시오.

  • 지원되는 독립 실행형 사용자 지정 역할에 systemd 관리 서비스를 할당할 수 있습니다.
  • Pacemaker 관리 서비스를 분할할 수 없습니다. Pacemaker에서 Overcloud 클러스터 내의 각 노드에서 동일한 서비스 세트를 관리하기 때문입니다. Pacemaker 관리 서비스를 분할하면 클러스터 배포 오류가 발생할 수 있습니다. 이러한 서비스는 컨트롤러 역할에 남아 있어야 합니다.
  • Red Hat OpenStack Platform 9에서 10으로 업그레이드하는 동안 사용자 정의 역할 및 구성 가능 서비스로 변경할 수 없습니다. 업그레이드 스크립트는 기본 Overcloud 역할만 수용할 수 있습니다.
  • 초기 배포 후 추가 사용자 지정 역할을 생성하고 이를 배포하여 기존 서비스를 확장할 수 있습니다.
  • Overcloud를 배포한 후에는 어떤 역할의 서비스 목록을 수정할 수 없습니다. Overcloud 배포 후 서비스 목록을 수정하면 배포 오류가 발생하고 노드에서 고립된 서비스를 남겨 둘 수 있습니다.

지원되는 사용자 지정 역할 아키텍처

사용자 지정 역할 및 구성 가능 서비스는 Red Hat OpenStack Platform 10의 새로운 기능이며 제한된 수의 구성 가능 서비스 조합만 이 초기 단계에서 테스트하고 검증되었습니다. Red Hat은 사용자 정의 역할 및 구성 가능 서비스를 사용할 때 다음 아키텍처를 지원합니다.

아키텍처 1 -ECDHElithic Controller
모든 컨트롤러 서비스는 하나의 컨트롤러 역할에 포함됩니다. 이는 기본값입니다. 자세한 내용은 6.8절. “서비스 아키텍처:ECDHElithic Controller”를 참조하십시오.
아키텍처 2 - 분할 컨트롤러

컨트롤러 서비스는 다음 두 가지 역할로 나뉩니다.

  • 컨트롤러 PCMK - 데이터베이스 및 로드 밸런싱과 같은 코어 Pacemaker 관리 서비스
  • Controller Systemd - 'systemd' 관리형 OpenStack Platform 서비스

자세한 내용은 6.9절. “서비스 아키텍처: 분할 컨트롤러”를 참조하십시오.

아키텍처 3 - 독립 실행형 역할
아키텍처 1 또는 아키텍처 2를 사용하지만 OpenStack Platform 서비스를 사용자 정의 역할로 분할합니다. 자세한 내용은 6.10절. “서비스 아키텍처: 독립 실행형 역할”를 참조하십시오.

6.1. 사용자 정의 역할 아키텍처 검사

Overcloud 생성 프로세스는 역할 데이터가 포함된 템플릿을 사용하여 역할을 정의합니다. 기본 템플릿은 /usr/share/openstack-tripleo-heat-templates/roles_data.yaml 에 있으며 Controller,Compute,BlockStorage,ObjectStorage, CephStorage 와 같은 모든 기본 역할 유형을 정의합니다.

중요

사용자 지정 roles_data.yaml 파일을 생성하는 경우 Controller 역할이 항상 첫 번째 역할이어야 합니다. 이 역할은 기본 역할로 취급됩니다.

각 역할에는 다음 매개변수가 포함되어 있습니다.

name
(필수) 역할의 이름, 공백이나 특수 문자가 없는 일반 텍스트 이름입니다. 선택한 이름이 다른 리소스와 충돌하지 않는지 확인합니다. 예를 들어 네트워크 대신 Network er 를 이름으로 사용합니다. 역할 이름에 대한 권장 사항은 6.9절. “서비스 아키텍처: 분할 컨트롤러” 에서 예제를 참조하십시오.
CountDefault
(선택 사항) 이 역할에 배포할 기본 노드 수를 정의합니다.
HostnameFormatDefault

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

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

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

overcloud-controller-0
overcloud-controller-1
overcloud-controller-2
...
ServicesDefault
(선택 사항) 노드에 포함할 기본 서비스 목록을 정의합니다. 자세한 내용은 6.2절. “Composable Service Architecture 검사”를 참조하십시오.

이러한 옵션은 새 역할을 생성하고 포함할 서비스를 정의하는 수단을 제공합니다.

openstack overcloud deploy 명령은 roles_data.yaml 파일의 매개변수를 overcloud.j2.yaml Heat 템플릿에 통합합니다. 특정 시점에서 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.yaml 의 각 name 매개변수를 사용하여 각 OS::Heat::ResourceGroup 리소스의 이름을 지정합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.