默认情况下,site.pp 是主要 list ,我注意到我在此文件中键入的任何内容都会被 puppet 识别。
但是,当我尝试在 list 或模块目录中创建某些内容时,puppet 似乎会忽略它。
由于主 list 是 site.pp,这是否意味着它会忽略这些目录中的所有内容?我是否必须在 site.pp 中编写一些内容才能使其识别其他模块或 list ?
最佳答案
据我了解,只要您的 puppet.conf 文件配置了“basemodulepath”值,那么您放入该 basemodulepath 定义的目录中的任何内容都应该自动加载。
从那里,您需要做的就是使用您创建的模块在 site.pp 中定义您的节点,并使用 include。
我在付费实验室中使用 Puppet Enterprise,所以 YMMV,但我只是在实验室练习中进行了此操作,没有出现任何问题。我的基本模块路径是:
basemodulepath =/etc/puppetlabs/puppet/modules:/opt/puppet/share/puppet/modules
我在路径下定义了一个 motd 模块:/etc/puppetlabs/puppet/modules/motd/,所以我的模块是自动加载的(它是/etc/puppetlabs/puppet/modules 的子目录,是配置的基本模块路径的一部分) .
现在已经完成了,我需要在 site.pp 中做的就是定义我想要应用模块的节点,并包含 motd 模块:
node 'mynode_certname'{
include motd
}
希望这对您有所帮助。
关于linux - 如果 puppet 主 list 是 site.pp,那么 list 和模块目录中的文件是否会被忽略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35636191/