我正在通过关于添加自定义事实的傀儡文档阅读。大多数信息似乎与在代理上运行的模块有关。
在我的例子中,我只想要一个简单的环境变量,可以从主节点中为每个节点设置这个变量。然后,我的ENC会进行一个PuppetDb查询,看看它应该提供什么样的环境。
我可以这么做吗,还是所有的事实都是从代理人那里来的?
发布于 2017-05-05 08:05:50
我能这么做吗
是的,那是可能的。您可以在一个傀儡模块中创建一个定制的事实,例如运行一些ruby代码以获得已安装软件的版本:
Facter.add("customfact") do
setcode do
123
end
end上面的代码驻留在Puppetmaster上,当运行puppet时,例如10个不同的代理,结果(即123和每个节点的主机名)将在PuppetDB中注册,并可以在Puppetboard中查看。
还是所有的事实都来源于代理人?
不,自定义事实驻留在Puppetmaster上。
发布于 2017-05-04 15:13:42
傀儡facts总是由代理发送给主人的信息。因此,你不能把一个事实放在木偶大师的一边。
但是,您可以选择使用傀儡收据配置代理环境(例如,使用木偶_配置_提供者)。
puppet_config { 'agent/environment':
value => $::puppet_environment,
}然而,只有在下一次傀儡演出时才会考虑到这一变化。
https://serverfault.com/questions/847401
复制相似问题