[英]Nested YAML for hiera in puppet
我正在为我们公司设计一个木偶架构。 我非常喜欢hiera和YAML文件的概念来对我的节点进行分类。 但是,我真的希望能够应用不基于事实的YAML文件或将YAML文件导入另一个YAML文件。
例如NodeA.yaml
---
include webserver.yaml
include public.yaml
classes:
etc. . .
这将允许我尽可能地重用我的代码。 这样,当我对我的Web服务器配置进行更改时,我只需要在一个文件而不是每个节点的YAML文件中进行更改。
我也对其他解决方案持开放态度。
loadyaml
函数的此示例 。 您可以轻松地只是通过设计适当的实现预期的功能hiera
层次。 我不明白为什么你不想使用其他facter facts
? 例如:在每个节点上定义自定义因子事实location
。 接下来定义一个层次结构:
:hierarchy: - "%{::location}"/"%{::fqdn}" - "%{::location}"/common - common
接下来在文件location_1/node1.yaml
您只定义特定于该node1的数据。 在文件location_1/common.yaml
您可以为location_1
所有节点定义公共数据。 在common.yaml
您可以定义所有节点的公共数据。 如果某些数据对于所有节点都是通用的,那么您可以在common.yaml
定义一次,这就是全部。 您不必在每个节点的yaml文件中对其进行冗余定义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.