为了理解Puppet中的导出资源,阅读了以下文档 。 在阅读文档后,理解是出口资源包括声明和收集。
尝试
基于对Puppet中导出资源的文档和理解,创build了以下代码:
class test { @@file { "/tmp/$hostname": } File <<| |>> }
预期
期望是一个文件/ tmp / vm-one将被创build
当前
没有文件被创build
[vagrant@vm-one modules]$ sudo puppet agent -t Info: Retrieving pluginfacts Info: Retrieving plugin Info: Loading facts Info: Caching catalog for vm-one.domain Info: Applying configuration version '1421499164' Notice: Finished catalog run in 0.10 seconds
要使导出的资源正常工作,您需要设置PuppetDB。 没有PuppetDB,他们将无法工作。 此外,你经常需要两个木偶运行资源才能得到应用。
幕后发生的是:
puppet agent从master请求目录
主编译目录(从PuppetDB获取导出的资源,并将新find的导出资源存储回PuppetDB)
主人将目录提交给代理人
在清单中为单个节点导出资源的Offcourse并不真正有用。 他们的想法是,单个节点报告一些资源,这些资源稍后由您希望应用的节点收集。
例如,如果将Nagios检查插入到每个服务中,则不希望在服务所在的节点上应用和收集这些检查,但是您希望将这些检查全部收集到Nagios节点上。
希望这可以帮助。