3.2. 环境文件
环境文件是一种特殊的模板,可用于自定义 heat 模板。除了核心 heat 模板外,您还可以在部署命令中包含环境文件。环境文件包含三个主要部分:
- resource_registry
- 本节定义自定义资源名称,链接到其他 heat 模板。这提供了一种创建在核心资源集合中不存在的自定义资源的方法。
- parameters
- 这些是您应用到顶级模板的参数的常见设置。例如,如果您有一个模板来部署嵌套堆栈,如资源 registry 映射,则参数仅适用于顶级模板,而不适用于嵌套资源的模板。
- parameter_defaults
- 这些参数修改所有模板中的参数的默认值。例如,如果您有一个 heat 模板来部署嵌套堆栈,如资源 registry 映射,则参数默认为适用于所有模板。
在为 overcloud 创建自定义环境文件时,使用 parameter_defaults
而不是 parameters
,以便您的参数应用到 overcloud 的所有堆栈模板。
基本环境文件示例:
resource_registry: OS::Nova::Server::MyServer: myserver.yaml parameter_defaults: NetworkName: my_network parameters: MyIP: 192.168.0.1
从特定的 heat 模板(my_template.yaml
)创建堆栈时,可能会包含此环境文件(my_env.yaml
)。my_env.yaml
文件会创建一个名为 OS::Nova::Server::MyServer
的新资源类型。myserver.yaml
文件是一个 heat 模板文件,它为此资源类型提供了一个实现,可覆盖任何内置资源。您可以在 my_template.yaml
文件中包含 OS::Nova::Server::MyServer
资源。
MyIP
仅将参数应用到使用此环境文件部署的主 heat 模板。在本例中,MyIP
仅适用于 my_template.yaml
中的参数。
networkName
适用于主 heat 模板 my_template.yaml
,以及与主模板中包含的资源关联的模板,如本例中的 OS::Nova::Server::MyServer
资源及其 myserver.yaml
模板。
要使 RHOSP 将 heat 模板文件用作自定义模板资源,文件扩展名必须是 .yaml 或 .template。