将节点继承转换为层次结构

将节点继承转换为层次结构

我正在努力将节点继承树移至 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}"

几个问题

  1. 您是否被允许将任意属性放入puppet.conf
  2. 希拉会看到领域财产?

答案1

您可以在客户端使用自定义事实而不是设置来执行此操作puppet.conf。但是,我建议在服务器端(在 Hiera 数据中)执行此操作。我用于类似操作的技巧如下:

  1. 在 Hiera 数据中clientcert为每个服务器设置一些级别。对于您的情况:

    realm: "pre-prod"
    
  2. site.pp在之前,通过 Hiera 将该变量放入全局范围hiera_include

    $realm = hiera(realm)
    
    hiera_include(classes)
    
  3. 该变量已从clientcert.yaml文件中提取,现在将用于从您发生的查找中,并根据您的层次结构中的配置hiera_include进行提取。pre-prod.yaml"%{realm}"

相关内容