3.5. 在 overcloud 创建中包含环境文件
在部署命令中使用 -e
选项包括环境文件。您可以根据需要纳入多个环境文件。但是,环境文件的顺序非常重要,因为后续环境文件中定义的参数和资源具有优先权。例如,您有两个环境文件,其中包含通用资源类型 OS::TripleO::NodeExtraConfigPost
,以及一个通用参数 TimeZone
:
environment-file-1.yaml
resource_registry: OS::TripleO::NodeExtraConfigPost: /home/stack/templates/template-1.yaml parameter_defaults: RabbitFDLimit: 65536 TimeZone: 'Japan'
environment-file-2.yaml
resource_registry: OS::TripleO::NodeExtraConfigPost: /home/stack/templates/template-2.yaml parameter_defaults: TimeZone: 'Hongkong'
在部署命令中包含这两个环境文件:
$ openstack overcloud deploy --templates -e environment-file-1.yaml -e environment-file-2.yaml
openstack overcloud deploy
命令通过以下过程运行:
- 从核心 heat 模板集合中加载默认配置。
-
应用
environment-file-1.yaml
中的配置,这将覆盖默认配置中的任何常见设置。 -
应用
environment-file-2.yaml
中的配置,该配置会覆盖默认配置和environment-file-1.yaml
中的所有常用设置。
这会对 overcloud 的默认配置进行以下更改:
-
OS::TripleO::NodeExtraConfigPost
资源设置为/home/stack/templates/template-2.yaml
,如environment-file-2.yaml
中定义的。 -
TimeZone
参数设置为在 environment-file-2.yaml 中定义,如environment-file-2.yaml
中定义的。 -
RabbitFDLimit
参数设置为65536
,如environment-file-1.yaml
中定义的。environment-file-2.yaml
不会更改此值。
您可以使用此机制为 overcloud 定义自定义配置,而无需与多个环境文件冲突。