在 Puppet Enterprise 上配置 Hiera

Configuring Hiera on Puppet Enterprise

我是 Puppet 和 Hiera 的新手,在尝试将包含 Hiera 查找的模块应用于代理时遇到配置问题。

来自 /etc/puppetlabs/puppet/hiera.yaml:

---
:backends:
  - yaml
:hierarchy:
  - defaults
  - "%{clientcert}"
  - "%{environment}"
  - global

:yaml:
  :datadir: '/etc/puppetlabs/puppet/hiera'

来自/etc/puppetlabs/puppet/hiera/develop.yaml:

git_client:
    file_content:here

当 运行 Hiera 调试时:

/opt/puppet/bin/hiera git_client environment=develop -c /etc/puppetlabs/puppet/hiera.yaml --debug

DEBUG: 2015-05-12 12:40:27 -0400: Hiera YAML backend starting
DEBUG: 2015-05-12 12:40:27 -0400: Looking up git_client in YAML backend
DEBUG: 2015-05-12 12:40:27 -0400: Looking for data source defaults
DEBUG: 2015-05-12 12:40:27 -0400: Cannot find datafile /etc/puppetlabs/puppet/hiera/defaults.yaml, skipping
DEBUG: 2015-05-12 12:40:27 -0400: Looking for data source develop
DEBUG: 2015-05-12 12:40:27 -0400: Found git_client in develop
file_content:here

Windows 代理配置来自 puppet.conf:

[main]
server=[REDACTED]
pluginsync=true
autoflush=true
archive_files=true
archive_file_server=[REDACTED]
graph=true
environment=develop

但是当 运行 来自 Windows 代理时:

Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find data item git_client in any Hiera data file and no default supplied at /etc/puppetlabs/puppet/environments/develop/modules/[REDACTED PATH TO .pp FILE]:24 on node [REDACTED]
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run

我一定是配置有误,但我不确定在哪里。任何帮助将不胜感激。

为了使 hiera 配置的更改生效,您需要确保重新启动 puppet master。如果您使用的是在 JVM 中运行的 puppetserver,则重新启动 pe-puppetserver 服务。如果您在 passenger 上使用旧 ruby master 运行,则重新启动 pe-httpd.

取自 hiera docs:

Puppet master note: If you modify hiera.yaml between agent runs, you’ll have to restart your puppet master for your changes to take effect.