Puppet版本:3.6.2
为了简化ssl证书的管理,我们的puppet
代理使用相同的证书名称, certname = agent.puppet.com
当puppet master从代理(hostname: web00.xxx.com)
获取请求时,它会以 certname 作为参数执行Enc
脚本。
node_terminus = exec
external_nodes = /home/ocean/puppet/conf/bce_puppet_bns
puppet.log:
2015-05-06 09:55:34 +0800 Puppet (debug): Executing '/home/ocean/puppet/conf/bce_puppet_bns agent.puppet.com'
如何配置将puppet主传递代理的真实主机名/ FQDN制作成Enc
脚本,如:
/home/ocean/puppet/conf/bce_puppet_bns web00.xxx.com
或者如何在Enc
脚本中获取代理的主机名/ FQDN?
答案 0 :(得分:1)
唐'吨
请勿使用代理商传递的$clientcert
以外的任何信息。
不要在不同的代理商之间共享证书。
Puppet中有一些根深蒂固的假设,即每个代理节点都有一个单独的证书。通过尝试这样的特技,你将在你的基础设施中肆虐 havoc 。
例如,PuppetDB数据通常通过拥有代理来分组。 certnames
。这些数据会迅速与所有自称相同的代理商不一致,但当然会有很大不同。
答案 1 :(得分:0)
确保puppetmaster说这个
[master]
node_name = facter
更改auth.conf,以便所有部分都包含" agent.puppet.com"这样的证书
# allow nodes to retrieve their own catalog
path ~ ^/catalog/([^/]+)$
method find
allow $1
allow agent.puppet.com
# allow nodes to retrieve their own node definition
path ~ ^/node/([^/]+)$
method find
allow $1
allow agent.puppet.com
# allow all nodes to access the certificates services
path /certificate_revocation_list/ca
method find
allow *
# allow all nodes to store their own reports
path ~ ^/report/([^/]+)$
method save
allow $1
allow agent.puppet.com
那只是傀儡< =>客户,Felix是对的,如果你使用的puppetdb也必须改变