2.2. 环境文件
环境文件是特殊的模板,为您的 Heat 模板提供自定义。这包括三个关键部分:
- 资源 Registry
-
本节定义链接到其他 heat 模板的自定义资源名称。这基本上提供了一种创建在核心资源集合中不存在的自定义资源的方法。它们在环境文件的
resource_registry
部分中定义。 - 参数
-
这些是适用于顶级模板参数的通用设置。例如,如果您有一个部署嵌套堆栈(如资源 registry 映射)的模板,则参数仅适用于顶层模板,而不是嵌套资源的模板。参数在环境文件的
parameters
部分中定义。 - 参数默认值
-
这些参数修改所有模板中的参数的默认值。例如,如果您有一个部署嵌套堆栈(如资源 registry 映射)的 Heat 模板,则参数默认为所有模板。换句话说,顶级模板和定义所有嵌套资源的模板。参数默认值在环境文件的
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
模板。