2.6. 在 Overcloud 创建中包含环境文件
部署命令(openstack overcloud deploy)使用 -e 选项包括环境文件来自定义 Overcloud。您可以根据需要纳入多个环境文件。但是,环境文件的顺序非常重要,因为后续环境文件中定义的参数和资源更为优先。例如,您可能有两个环境文件:
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
在本例中,两个环境文件都包含通用资源类型(OS::TripleO::NodeExtraConfigPost)和通用参数(TimeZone)。openstack overcloud deploy 命令通过以下进程运行:
-
根据
--template选项,从核心 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参数设为Hongkong,因为environment-file-2.yaml。 -
RabbitFDLimit参数根据environment-file-1.yaml被设置为65536。environment-file-2.yaml不会更改这个值。
这提供了一种从多个环境文件冲突地定义自定义配置到 Overcloud 的方法。