7장. heat 템플릿 작업


이 가이드의 사용자 지정 구성은 heat 템플릿 및 환경 파일을 사용하여 오버클라우드의 특정 측면을 정의합니다. 이 장에서는 Red Hat OpenStack Platform의 맥락에서 heat 템플릿 구조에 대한 기본 소개를 설명합니다. 템플릿의 목적은 heat가 생성하는 리소스 컬렉션 및 리소스 구성인 스택을 정의하고 생성하는 것입니다. 리소스는 OpenStack의 오브젝트이며 컴퓨팅 리소스, 네트워크 구성, 보안 그룹, 확장 규칙 및 사용자 지정 리소스를 포함할 수 있습니다.

heat 템플릿 구조에는 세 가지 주요 섹션이 있습니다.

매개 변수

매개변수는 heat로 전달되는 설정입니다. 이러한 매개변수를 사용하여 기본값과 기본값이 아닌 값을 정의하고 사용자 지정합니다. 이러한 매개 변수를 템플릿의 parameters 섹션에 정의합니다.

Resources

리소스는 스택의 일부로 생성 및 구성하려는 특정 오브젝트입니다. OpenStack에는 모든 구성 요소에 걸쳐 있는 핵심 리소스 세트가 포함되어 있습니다. 템플릿의 resources 섹션에 리소스를 정의합니다.

출력 결과

스택 생성 후 heat에서 전달된 값입니다. heat API 또는 클라이언트 툴을 통해 이러한 값에 액세스할 수 있습니다. 템플릿의 output 섹션에 이러한 값을 정의합니다.

Heat에서 템플릿을 처리하면 템플릿의 스택과 리소스 템플릿의 하위 스택 세트를 생성합니다. 이 스택 계층 구조는 템플릿과 함께 정의된 기본 스택에서 축소됩니다. 다음 명령을 사용하여 스택 계층 구조를 볼 수 있습니다.

$ heat stack-list --show-nested
Copy to Clipboard Toggle word wrap

7.1. 코어 heat 템플릿

Red Hat OpenStack Platform에는 오버클라우드의 코어 heat 템플릿 컬렉션이 포함되어 있습니다. 이 컬렉션은 /usr/share/openstack-tripleo-heat-templates 디렉터리에서 찾을 수 있습니다.

이 컬렉션에는 많은 heat 템플릿과 환경 파일이 있습니다. 이 섹션에는 배포를 사용자 지정하는 데 사용할 수 있는 기본 파일 및 디렉터리에 대한 정보가 포함되어 있습니다.

overcloud.j2.yaml

이 파일은 오버클라우드 환경을 생성하는 데 사용되는 기본 템플릿 파일입니다. 이 파일은 Jinja2 구문을 사용하고 템플릿의 특정 섹션을 반복하여 사용자 지정 역할을 생성합니다. Jinja2 형식은 Overcloud 배포 프로세스 중에 YAML로 렌더링됩니다.

overcloud-resource-registry-puppet.j2.yaml

이 파일은 오버클라우드 환경을 생성하는 데 사용하는 기본 환경 파일입니다. 이 파일에는 오버클라우드 이미지에 Puppet 모듈에 대한 구성 세트가 포함되어 있습니다. director가 각 노드에 오버클라우드 이미지를 쓰면 heat는 이 환경 파일에 등록된 리소스를 사용하여 각 노드의 Puppet 설정을 시작합니다. 이 파일은 Jinja2 구문을 사용하고 템플릿의 특정 섹션을 반복하여 사용자 지정 역할을 생성합니다. Jinja2 형식은 Overcloud 배포 프로세스 중에 YAML로 렌더링됩니다.

roles_data.yaml

이 파일에는 오버클라우드의 역할 정의가 포함되어 있으며 서비스를 각 역할에 매핑합니다.

network_data.yaml

이 파일에는 오버클라우드의 네트워크 정의와 서브넷, 할당 풀, VIP 상태를 포함한 해당 속성이 포함되어 있습니다. 기본 network_data.yaml 파일에는 기본 네트워크(외부, 내부 Api, 스토리지, 스토리지 관리, 테넌트, 관리)만 포함됩니다. 사용자 지정 network_data.yaml 파일을 생성하고 -n 옵션을 사용하여 openstack overcloud deploy 명령에 포함할 수 있습니다.

plan-environment.yaml

이 파일에는 계획 이름, 사용하려는 기본 템플릿, 오버클라우드에 적용할 환경 파일을 포함하여 오버클라우드 계획에 대한 메타데이터 정의가 포함되어 있습니다.

capabilities-map.yaml

이 파일에는 오버클라우드 계획에 대한 환경 파일 매핑이 포함되어 있습니다. 이 파일을 사용하여 Director web UI에서 환경 파일을 설명하고 활성화합니다. 환경 디렉터리에 사용자 지정 환경 파일을 포함하지만 capabilities-map.yaml 파일에 이러한 파일을 정의하지 않으면 웹 UI의 Overall Settings 페이지의 기타 하위 탭에서 이러한 환경 파일을 찾을 수 있습니다.

environments

이 디렉터리에는 오버클라우드 생성과 함께 사용할 수 있는 추가 heat 환경 파일이 포함되어 있습니다. 이러한 환경 파일을 사용하면 Red Hat OpenStack Platform 환경에 추가 기능을 사용할 수 있습니다. 예를 들어 cinder-netapp-config.yaml 환경 파일을 사용하여 Block Storage 서비스(cinder)의 NetApp 백엔드 스토리지를 활성화할 수 있습니다. 환경 디렉터리에 사용자 지정 환경 파일을 포함하지만 capabilities-map.yaml 파일에 이러한 파일을 정의하지 않으면 웹 UI의 Overall Settings 페이지의 기타 하위 탭에서 이러한 환경 파일을 찾을 수 있습니다.

network

이 디렉터리에는 격리된 네트워크 및 포트를 생성하는 데 사용할 수 있는 heat 템플릿 세트가 포함되어 있습니다.

Puppet

이 디렉터리에는 puppet 템플릿이 포함되어 있습니다. overcloud-resource-registry-puppet.j2.yaml 환경 파일은 puppet 디렉터리의 파일을 사용하여 각 노드에서 Puppet 구성 애플리케이션을 구동합니다.

puppet/services

이 디렉터리에는 구성 가능 서비스 아키텍처의 모든 서비스에 대한 heat 템플릿이 포함되어 있습니다.

extraconfig

이 디렉터리에는 추가 기능을 활성화하는 데 사용할 수 있는 템플릿이 포함되어 있습니다. 예를 들어 extraconfig/pre_deploy/rhel-registration 디렉터리를 사용하여 노드를 Red Hat Content Delivery 네트워크에 등록하거나 자체 Red Hat Satellite 서버에 노드를 등록할 수 있습니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat