Назад | Перейти на главную страницу

Как в Puppet можно использовать разные модули Puppet в разных средах Puppet?

Некоторые люди, с которыми я работаю, на самом деле дают каждой среде 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. Так что да, в первую очередь я считаю это плохой практикой. Ваши среды - это «разработка», «тестирование», «производство» и т. Д.

Что вы, вероятно, хотели бы использовать, это Марионеточные роли и профили с участием R10K.

Я также могу дать вам объяснение того, почему я думаю, что это было сделано (я тоже делал нечто подобное в прошлом): если этот код / ​​настройка были написаны достаточно давно, Puppet не поддерживал роли и профили тогда, поэтому это было обычная практика использования функции среды для всех видов трюков.