Каким способом можно использовать разные модули 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 для всех, могу ли я справиться с этим, задав пути к модулям? Следует ли мне?

1
задан 15 January 2019 в 17:38
1 ответ

Во-первых, это не предназначено для сред в Puppet. Так что да, я бы счел это прежде всего плохой практикой. Ваши среды - это «разработка», «тестирование», «производство» и т. Д.

То, что вы, вероятно, хотели бы использовать, это Puppet Roles and Profiles с R10K .

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

3
ответ дан 3 December 2019 в 18:37

Теги

Похожие вопросы