[英]puppet master didn't pass agent hostname/fqdn to enc script
version版本:3.6.2
为了简化ssl证书的管理,我们的puppet
代理使用相同的certname , 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'
如何配置以使人偶主代理将代理的真实主机名/ FQDN传递给Enc
脚本,例如:
/home/ocean/puppet/conf/bce_puppet_bns web00.xxx.com
或者如何在Enc
脚本中获取代理的主机名/ FQDN?
别。
除了使用从代理传递的$clientcert
之外,请勿使用任何其他信息。
不要在不同的代理之间共享证书。
在Puppet中有根深蒂固的假设,即每个代理节点都有一个单独的证书。 通过尝试这种特技,您将对基础架构造成严重破坏 。
例如,PuppetDB数据通常按拥有代理的certnames
分组。 所有代理人都称自己相同,但这些数据会完全不同,因此这些数据很快就会变得不一致。
确保人偶大师说这个
[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
那只是puppetmaster <=>客户端,Felix是对的,如果您使用的是puppetdb,那也必须进行更改
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.