我知道这个问题之前已经有很多不同的变种。 我读了所有与这个问题有关的post,但是我不能让代理人和主人彼此交谈。 我通过在linuxmint 17上运行的vmwork站启动了2个vm。
我将通过告诉客户端和puppetmaster中的/ etc / hosts和/ etc / hostname是什么来启动这个线程。
在我的客户端的vm中,我在/ etc / hostname中的主机名如下所示:
puppetclient
/ etc / hosts中客户端的虚拟主机如下所示:
127.0.0.1 localhost 127.0.1.1 puppetclient 192.168.75.143 puppetmaster
在我的主人的VM / etc /主机名如下所示:
puppetmaster
我的主vm / etc / hosts如下所示:
127.0.0.1 localhost 127.0.1.1 puppetmaster 192.168.75.144 puppetclient
在我的主人/我的/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 [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
我的客户端中的/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 [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=puppetmaster
在我的search过程中,我有很多puppet.conf的变体,我不想在这里发布。 其中一个变种是在我的客户端和主server=puppetmaster主机中都有[main]中的server=puppetmaster 。 无论如何,对于我试过的所有puppet.conf变体,我运行sudo puppet agent --test时出现的第一个错误 – testing始终是warning: unable to fetch my node definitoin, but agent run will continue:的错误是不同的每个变体我执行puppet.conf。 任何人都可以告诉我我的设置正确的configuration?
谢谢
看来你先安装好你的木偶大师,然后改变主机名。
在木偶大师上执行: puppet config print certname这将显示您的主人使用的certname。 它应该等于你的主机名。
如果主机名与您的主机名匹配,您可以在主机证中validation通用名:
openssl x509 -noout -subject -in $(puppet config print ssldir)/certs/$(puppet config print certname).pem
另外我build议在puppetconfiguration中使用FQDN。 如果主机名不同,最简单的方法就是删除或重命名SSL目录:
mv $(puppet config print ssldir){,_}
并重新启动你的木偶大师。 您还需要在客户端节点上执行此操作,因为CA将会更改。