使用 Puppet 3.2.1 尝试服务器/客户端设置,同时在同一主机上运行。
我也在使用 puppet-dashboard 和 puppetdb。
我的清单/init.pp:
node 'my.fqdn' {
file { '/tmp/test':
ensure => present
}
puppet agent --test --server my.fqdn --report
在 /etc/hosts 中定义 my.fqdn 和仪表板的地方运行
产量:
Info: Retrieving plugin
Info: Loading facts in /etc/puppet/modules/concat/lib/facter/concat_basedir.rb
Info: Loading facts in /etc/puppet/modules/puppi/lib/facter/puppi_projects.rb
Info: Loading facts in /etc/puppet/modules/puppi/lib/facter/last_run.rb
Info: Loading facts in /var/lib/puppet/lib/facter/puppi_projects.rb
Info: Loading facts in /var/lib/puppet/lib/facter/concat_basedir.rb
Info: Loading facts in /var/lib/puppet/lib/facter/last_run.rb
Info: Caching catalog for my.fqdn
Info: Applying configuration version '1369841032'
Notice: Finished catalog run in 0.08 seconds
Changes:
Events:
Resources:
Skipped: 6
Total: 7
Time:
Config retrieval: 0.42
Total: 0.42
Last run: 1369841033
Filebucket: 0.00
Version:
Config: 1369841032
Puppet: 3.2.1
永远不会创建文件/tmp/test
!
还;
Puppet 仪表板说它不知道任何节点(EG 报告从未到达它)
用于报告的 puppet.conf:
reports = store, http
reporturl = http://puppet.armed.us/reports/upload
这里可能发生了什么,以及如何解决它?
运行puppet apply /etc/puppet/manifests/init.pp
确实有效,但在尝试从 puppet master 获取配置时无效。这就像它得到一个空白的目录。
*编辑:
傀儡.conf:
[main]
vardir = /var/lib/puppet
logdir = /var/log/puppet
rundir = /var/run/puppet
templatedir = /var/lib/puppet/templates
ssldir = $vardir/ssl
usecacheonfailure = true
user = puppet
group = puppet
[agent]
certname = my.fqdn
server = my.fqdn
pluginsync = true
report = true
reportserver = my.fqdn
summarize = true
graph = true
listen = false
runinterval = 1800
classfile = $vardir/classes.txt
localconfig = $vardir/localconfig
[master]
masterport = 8140
bindaddress = 0.0.0.0
autosign = false
storeconfigs = true
environment = production
manifest = $confdir/manifests/site.pp
modulepath = /etc/puppet/modules:/usr/share/puppet/modules
storeconfigs_backend = puppetdb
reports = store, http
reporturl = http://my.fqdn/reports/upload
facts_terminus = active_record
和证书:
root@my:~# puppet cert list --all
+ "my.fqdn" (SHA256) E1:F0:29:1...:31:93:F9
您可能应该将 manifests/init.pp 重命名为 manifests/site.pp,因为这是您在 puppet.conf 中配置的内容
实际上是
my.fqdn
主人知道代理人的签名证书名称吗?听起来证书名称可能与您的节点定义不匹配,因此它会忽略节点部分。您可以尝试强制使用代理报告的名称,看看是否可以解决问题:
puppet agent --test --server my.fqdn --report --certname my.fqdn
我不知道您的站点是否属于这种情况,但我需要 pluginsync = true 以便某些人偶配置能够正常工作。如果节点上的 /etc/puppet/puppet.conf 中没有它,puppet 运行不会失败,但不会执行我预期的所有操作(例如,使用 file_line)。
我看到你把它放在 master puppet.conf 上,但检查它是否也在节点上。
我想知道您的人偶服务器是否理解您的客户端应该是 my.fqdn。将节点“my.fqdn”更改为节点默认值并查看是否获得该文件。
您是否在该指令的 [agent] 部分中放入了节点 puppet.conf(并重新启动)?报告=真