配置查询

配置查询

我花了很多时间研究 Puppet storeconfigs,最后我发现了一件让我困惑的事情。我想设置 storeconfigs,但是当我在 /etc/puppet/puppet.conf 文件的 [master] 部分中设置 storeconfigs 和 storeconfigs_backend 值时,它不起作用。但是当我测试将这些值放在 [main] 部分时,它不知怎么就起作用了。

为什么 Puppet 忽略了 [master] 部分配置,而他们的文档说 storeconfigs 属于 [master] 部分?

我使用 Puppet 3.8.2 和 Ubuntu 14.04。

https://docs.puppetlabs.com/puppetdb/latest/connect_puppet_master.html

为了能够在 PuppetDB 中保存事实和目录,请将以下设置添加到 puppet.conf 的 [master] 块中(如果已存在,则编辑它们):

[master]
storeconfigs = true
storeconfigs_backend = puppetdb

一开始就有我的 puppet.conf 文件。

$ cat /etc/puppet/puppet.conf
[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter

[master]
# These are needed when the puppetmaster is run by passenger
# and can safely be removed if webrick is used.
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY

我从 Puppet 那里得到了同样的答案

$ sudo puppet config print | grep ^storeconfigs
storeconfigs = false
storeconfigs_backend = active_record

我将 storeconfigs 和 storeconfigs_backend 值设置到 puppet.conf 文件的 [master] 部分,但它不起作用,并且 storeconfigs 值仍然为假。

$ sudo puppet config set storeconfigs true --section master
$ sudo puppet config set storeconfigs_backend puppetdb --section master
$ sudo puppet config print | grep ^storeconfigs
storeconfigs = false
storeconfigs_backend = active_record

我只是测试将这些值放入 puppet.conf 文件的 [main] 部分,并且它可以工作。

$ sudo puppet config set storeconfigs true --section main
$ sudo puppet config set storeconfigs_backend puppetdb --section main
$ sudo puppet config print | grep ^storeconfigs
storeconfigs = true
storeconfigs_backend = puppetdb

答案1

Puppet 已经多次重新安排了它们的配置文件,以及内容所在的部分。我已经放弃尝试追踪所有内容,而是只使用puppet config print | less并查看 Puppet 今天需要哪个部分中的特定配置项,然后将它们放在那里。

答案2

配置查询

要查看“puppet master”中可见的配置,你可以使用

puppet master --configprint all | grep storeconfigs

或者

puppet master --configprint storeconfigs
puppet master --configprint storeconfigs_backend

...它将使用 [main] 部分中的默认配置,以及 [master] 特定部分中的配置。

相关内容