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