Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

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.yamlmy_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