我们正在我们的客户端和主机上运行 puppet 2.7.11-1ubuntu2.4 (Ubuntu 12.04)。客户端似乎不会自动更新,但是当我运行时:

sudo puppet agent --test

一切正常。

客户端当前正在运行的进程:
root      1764     1  0 Sep10 ?        00:00:05 /usr/bin/ruby1.8 /usr/bin/puppet agent

/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
  templatedir=$confdir/templates
  prerun_command=/etc/puppet/etckeeper-commit-pre
  postrun_command=/etc/puppet/etckeeper-commit-post
  pluginsync=true

[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

[agent]
  server=<URL_REMOVED>
  configtimeout=300

/var/log/syslog.log
Sep 11 16:12:48 <HOSTNAME_REMOVED> puppet-agent[1764]: Did not receive certificate
Sep 11 16:14:48 <HOSTNAME_REMOVED> puppet-agent[1764]: Did not receive certificate
Sep 11 16:16:49 <HOSTNAME_REMOVED> puppet-agent[1764]: Did not receive certificate
Sep 11 16:18:49 <HOSTNAME_REMOVED> puppet-agent[1764]: Did not receive certificate
Sep 11 16:20:49 <HOSTNAME_REMOVED> puppet-agent[1764]: Did not receive certificate

/etc/default/puppet
# Defaults for puppet - sourced by /etc/init.d/puppet

# Start puppet on boot?
START=yes

# Startup options
DAEMON_OPTS=""

有人知道可能有什么问题吗?

最佳答案

我们实际上最近找到了这个问题的原因。

某些节点在其 puppet.conf 中的主机名与服务器证书中的主机名不匹配。

还有一些节点在联系服务器时没有使用他们的 FQDN,这会导致与客户端证书不匹配。我们通过将 FQDN 添加到/etc/hosts 来解决这个问题:

127.0.1.1 hostename.domain.edu hostename

关于Puppet 客户端不更新,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18743937/

10-16 19:12