Мы используем общий Puppet Server для управления средами QA и DEV. По умолчанию Puppet Server использует конфигурацию "Производственная среда".
# puppet master --configprint all | grep production
environment = production
manifest = /data/puppetlabs/code/environments/production/manifests
modulepath = /data/puppetlabs/code/environments/production/modules:/data/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules
Я хочу включить еще две среды DEV и QA. Для этого я скопирую указанные выше каталоги и переименую в qa
и development
среды соответственно на Puppet Server. Какие элементы конфигурации включить в puppet.conf
для включения новых сред на Puppet Server. Если я создам несколько записей, как в примере выше, это сработает. Пожалуйста, предложите.
Классический способ настройки окружения таков:
#Environments
[development]
modulepath =/etc/puppet/development/modules
manifest = /etc/puppet/development/manifest/site.pp
manifestdir = /etc/puppet/development/manifest
[testing]
modulepath =/etc/puppet/testing/modules
manifest = /etc/puppet/testing/manifest/site.pp
manifestdir = /etc/puppet/testing/manifest
[production]
modulepath =/etc/puppet/production/modules
manifest = /etc/puppet/production/manifest/site.pp
manifestdir = /etc/puppet/production/manifest
Затем вы можете разместить в этих папках модули и манифесты для каждой среды.
Но этот метод считается устаревшим, и люди используют среду на основе каталогов. Устанавливать environmentpath
к /etc/puppet/environments
и создайте папки среды с modules
и manifests
там.
Например:
/etc/puppet/environments/production/modules/
/etc/puppet/environments/production/manifests/
/etc/puppet/environments/testing/modules/
/etc/puppet/environments/testing/manifests/
Вы можете использовать r10k для автоматической загрузки этих сред из веток Git.