7장. heat 템플릿 작업


이 가이드의 사용자 지정 구성에서는 heat 템플릿 및 환경 파일을 사용하여 Overcloud의 특정 측면을 정의합니다. 이 장에서는 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

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

overcloud-resource-registry-puppet.j2.yaml

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

roles_data.yaml

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

network_data.yaml

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

plan-environment.yaml

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

capabilities-map.yaml

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

환경

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

network

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

Puppet

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

Puppet/서비스

이 디렉터리에는 구성 가능 서비스 아키텍처의 모든 서비스에 대한 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