我正在努力将节点继承树移至 hiera。目前正在研究等级制度。在 hiera 之前,我的节点有这样的层次结构
base
pre-prod
qa
nodes
staging
nodes
development
nodes
prod
nodes
现在我正尝试使用 hiera 获得相同的等级。一开始我有这个
:hierarchy:
- base
- "%{environment}"
- "%{clientcert}"
但我需要另一个层次来捕捉前期制作和产品。我的想法是添加一个条目到puppet.conf, 就像是
[agent]
realm = pre-prod
然后
:hierarchy:
- base
- "%{realm}"
- "%{environment}"
- "%{clientcert}"
几个问题
- 您是否被允许将任意属性放入puppet.conf?
- 希拉会看到领域财产?
答案1
您可以在客户端使用自定义事实而不是设置来执行此操作puppet.conf
。但是,我建议在服务器端(在 Hiera 数据中)执行此操作。我用于类似操作的技巧如下:
在 Hiera 数据中
clientcert
为每个服务器设置一些级别。对于您的情况:realm: "pre-prod"
site.pp
在之前,通过 Hiera 将该变量放入全局范围hiera_include
:$realm = hiera(realm) hiera_include(classes)
该变量已从
clientcert.yaml
文件中提取,现在将用于从您发生的查找中,并根据您的层次结构中的配置hiera_include
进行提取。pre-prod.yaml
"%{realm}"