繁体   English   中英

木偶大师没有将代理主机名/ fqdn传递给enc脚本

[英]puppet master didn't pass agent hostname/fqdn to enc script

version版本:3.6.2

为了简化ssl证书的管理,我们的puppet代理使用相同的certnamecertname = 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM