//,在Puppet中,在不同的Puppet环境中使用不同的Puppet模块的方式是什么?

我工作的一些人实际上给每个Puppet环境自己的$modulepath ,但也有共同的$modulepath

请在下面find一个例子:

 [redis] modulepath = /usr/share/puppet/modules:/etc/puppet/modules:/etc/puppet/environments/redis/modules/ manifest=/etc/puppet/environments/redis/manifests/site.pp 

我不确定这是否明智,但我想问一下,“这样做的正确方法是什么?

我愿意从Puppet的angular度来回答,也从总体configurationpipe理的angular度来看。

这实际上非常具体。 如果我需要一个环境的Redis模块,statsd模块和另外一个Apache模块,我可以通过设置模块path来处理这个问题吗? 我是不是该?

首先,这不是Puppet环境的预期用法。 所以是的,我首先会认为这是一个糟糕的做法。 你的环境是“开发”,“testing”,“生产”等。

你可能会喜欢使用R10K的 Puppetangular色和configuration文件 。

我可以给你的也是我为什么这么做的一个解释(我过去也做过类似的事情):如果这个代码/设置写得够时间的话,Puppet当时不支持angular色和configuration文件,所以它是对于各种技巧使用环境function的常见做法。