Puppet

在 Puppet 中,在不同 Puppet 環境中使用不同 Puppet 模組的公認方式是什麼?

  • January 15, 2019

與我一起工作的一些人實際上為每個 Puppet 環境提供了自己的環境$modulepath,但也有共同點$modulepath

請在下面找到一個範例:

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

我不確定這是否明智,但我想問,“這樣做的正確方法是什麼?”

我願意從 Puppet 的角度以及一般配置管理的角度來回答問題。

它實際上非常具體。如果我需要一個環境的 Redis 模組,另一個環境的 statsd 模組,以及所有這些環境的 Apache 模組,我可以通過設置模組路徑來處理這個問題嗎?我是不是該?

首先,這不是 Puppet 中環境的預期用途。所以,是的,我首先會認為這是一種不好的做法。您的環境是“開發”、“測試”、“生產”等。

您可能想使用Puppet Roles and Profiles with R10K

我可以給你的也是對我認為這樣做的原因的解釋(我過去也做過類似的事情):如果這段程式碼/設置是在足夠早之前編寫的,那麼 Puppet 那時不支持角色和配置文件,所以它是將環境功能用於各種技巧的常見做法。

引用自:https://serverfault.com/questions/739854