木偶 - 海拉的多重角色

时间:2018-04-09 11:17:33

标签: puppet hiera

我正在努力(并努力)在Hiera中实现(多个)角色模型。

我在过去的两年中使用的模型与用户完全相同,现在我想自己重建相同的结构。例如,我的node.yaml应该只包含我想要应用到主机上的角色:

/etc/puppetlabs/code/environments/production/nodes/my.host.de.yaml

classes: - ydixken_baseinstall - additional_modules [...]

对我而言,更直观的是,在角色/目录中放置yaml,使用角色的名称,并避免处理配置文件:

/etc/puppetlabs/code/environments/production/roles/ydixken_baseinstall.yaml

classes: - apt - unattended_upgrades - [...] apt::update: frequency: 'daily' loglevel: 'debug' [...]

将角色定义作为节点事实放置对我来说是不切实际的。如果需要,允许自定义节点配置中已定义的值也是很好的。

现在我的目录,hiera.yaml&文件结构如下所示:

/etc/puppetlabs/puppet/hiera.yaml

version: 5 defaults: datadir: /etc/puppetlabs/code/environments/production data_hash: yaml_data hierarchy: - name: "Per-node data (yaml version)" paths: - "nodes/%{fqdn}.yaml" - "roles/%{role}.yaml" - common

/etc/puppetlabs/code/environments/production/hiera.yaml

version: 5 defaults: hierarchy: - name: "FQDN" path: "nodes/%{fqdn}.yaml" - name: "Roles" path: "roles/%{role}.yaml" - name: "Common Data" path: "common.yaml"

/etc/puppetlabs/code/environments/production/manifests/site.pp

hiera_include('classes')

我怎样才能做到这一点?

我当前的错误:

Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Function Call, Could not find class ::ydixken_baseinstall for my.host.de (file: /etc/puppetlabs/code/environments/production/manifests/site.pp, line: 1, column: 1) on node my.host.de

1 个答案:

答案 0 :(得分:0)

我确切地找到了我正在寻找的东西:r10k