2.2. 环境文件
环境文件是特殊的模板,可为您的 heat 模板提供自定义。这包括三个关键部分:
- 资源 Registry
-
本节定义链接到其他 heat 模板的自定义资源名称。这提供了一种方法,可以创建在核心资源集合中不存在的自定义资源。它们在环境文件的
resource_registry
部分中定义。 - 参数
-
这些是适用于顶级模板参数的通用设置。例如,如果您有一个部署嵌套堆栈(如资源 registry 映射)的模板,这些参数仅适用于顶级模板,而不是嵌套资源的模板。参数在环境文件的
parameters
部分中定义。 - 参数默认值
-
这些参数为所有模板中的参数修改默认值。例如,如果您有一个部署嵌套堆栈的 heat 模板,如资源 registry 映射,则参数默认为所有模板。参数默认值在环境文件的
parameter_defaults
部分中定义。
为 overcloud 创建自定义环境文件时,请使用 parameter_defaults
而不是 参数
。这样的参数将应用到 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 模板。在本例中,它只适用于 my_template.yaml
中的参数。
NetworkName
适用于主 heat 模板 my_template.yaml
和与包含主模板的资源关联的模板,如 OS::Nova::Server::MyServer
资源及其 myserver.yaml
模板。
要使 RHOSP 使用 heat 模板文件作为自定义模板资源,文件扩展必须是 .yaml
或 .template
。