Red Hat Training
A Red Hat training course is available for Red Hat OpenStack Platform
第 2 章 了解 Heat 模板
本指南中的自定义配置使用 Heat 模板和环境文件来定义 Overcloud 的某些方面。本章介绍了 Heat 模板,以便您可以在 Red Hat OpenStack Platform director 的上下文了解这些模板的结构和格式。
2.1. Heat 模板
Red Hat OpenStack Platform (RHOSP) director 使用 Heat 编配模板(HOT)作为其 overcloud 部署计划的模板格式。HOT 格式的模板通常以 YAML 格式表示。模板的目的是定义和创建堆栈,这是 heat 创建的资源集合,以及资源的配置。资源是 RHOSP 中的对象,可以包含计算资源、网络配置、安全组、扩展规则和自定义资源。
注意
要使 RHOSP 使用 heat 模板文件作为自定义模板资源,文件扩展必须是 .yaml
或 .template
。
Heat 模板有三个主要部分:
- 参数
-
这些设置传递到 heat,以自定义堆栈。您还可以使用 heat 参数自定义默认值。这些设置在模板的
parameter
部分中定义。 - Resources
-
这些是作为堆栈一部分创建和配置的具体对象。Red Hat OpenStack Platform (RHOSP)包含跨越所有组件的一组核心资源。它们在模板的
resources
部分中定义。 - 输出
-
在创建堆栈后,这些值从 heat 传递。您可以通过 heat API 或客户端工具访问这些值。它们在模板的
output
部分中定义。
以下是基本 heat 模板的示例:
heat_template_version: 2013-05-23 description: > A very basic Heat template. parameters: key_name: type: string default: lars description: Name of an existing key pair to use for the instance flavor: type: string description: Instance type for the instance to be created default: m1.small image: type: string default: cirros description: ID or name of the image to use for the instance resources: my_instance: type: OS::Nova::Server properties: name: My Cirros Instance image: { get_param: image } flavor: { get_param: flavor } key_name: { get_param: key_name } output: instance_name: description: Get the instance's name value: { get_attr: [ my_instance, name ] }
此模板使用 资源类型:OS::Nova::Server
创建名为 my_instance
的实例,其具有特定类别、镜像和密钥。堆栈可以返回 instance_name
的值,它名为 My Cirros Instance
。
当 Heat 处理模板时,它为模板创建一个堆栈,并为资源模板创建一组子堆栈。这会创建一个堆栈的层次结构,该堆栈从您通过模板定义的主堆栈中分离。您可以使用以下命令查看堆栈层次结构:
$ openstack stack list --nested