我想在puppet master上部署之前在puppet master中制作一些动态配置细节。所以我想发送大量的配置细节以及代理的请求来掌握。有没有正确的方法在木偶中做到这一点?
此致 Malintha Adiakri
答案 0 :(得分:2)
是的!还有一个方面。这就是我使用它以及我发现最强大的方法,但还有其他方法来定义新事实。
例如,如果您想添加服务器的角色,那么您可以这样做
export FACTER_ROLE=jenkins
现在您可以看到命令facter role
将打印jenkins。好极了!
运行木偶代理后,系统已知的所有事实都将传递给thenpuppetmaster。请注意,服务木偶不会知道您刚刚定义的事实,因为它在其他范围内运行。
我把我的事实放在文件.facts中并在申请之前将其来源 这是我从cron运行的脚本:
#!/bin/bash
source /root/.facts
puppet agent -t --server puppetmaster.example.com --pluginsync
答案 1 :(得分:1)
虽然之前的答案是正确的,但我将此作为一个新答案,因为它很重要。在代理的环境中定义FACTER_factname
变量是一种很好的快速方式来覆盖某些事实。如果您希望依靠自己的事实进行制作,则应该寻找custom facts。
在基本形式中,您可以通过将Ruby代码段部署到您的boxen来使用它。为了更简单的方法,请特别注意external facts。这些可能是解决您问题的最佳方案。
另请注意,从Facter 2开始,您可以在事实中包含复杂的数据结构,而不必将所有内容序列化为字符串。如果你强调来自代理的数据量很高,那可能会有所帮助。