Я пытаюсь настроить динамические среды, используя http://puppetlabs.com/blog/git-workflow-and-puppet-environments/ в качестве ориентира. К сожалению, я не совсем понимаю, что делаю.
Я создал каталог на мастере марионеток в / etc / puppetlabs / puppet / environment /
Я скопировал примеры конфигурации из документа выше в файл puppet.conf на моем мастере марионеток. Я добавил три строки в каждом разделе документа в соответствующий раздел файла puppet.conf и внес изменения в соответствии с моей системой (пути и т. Д.). До этих изменений я работал с default-post- установочная копия puppet.conf
теперь, когда я пытаюсь запустить марионеточный агент -t --noop с клиентской машины или с сервера, я получаю следующую ошибку.
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find class pe_compliance for puppet-test-01.mydomain.net on node puppet-test-01.mydomain.net
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run
Если я избавлюсь от всего этого и добавлю среду вручную в файл puppet.conf на главном сервере, тогда я могу добавить environment = testenv
в файл puppet.conf на клиенте, и я думаю, что получу новую среду ... но я не вижу ничего подобного в веб-интерфейсе ... поэтому я не знаю наверняка, работает ли это тоже.
Что я делаю в носке? что мне нужно делать дальше
В Puppet Enterprise есть ряд модулей, которые должны присутствовать для правильной работы.
Вам нужно будет либо скопировать их в $ modulepath для каждой среды, либо добавить путь по умолчанию в путь для каждой среды.
Путь к модулю по умолчанию для Puppet Enterprise: (согласно документация) /etc/puppetlabs/puppet/modules:/opt/puppet/share/puppet/modules
.
Вам нужно будет добавить это в свои среды, например:
modulepath = /etc/puppet/environments/production/modules:/etc/puppetlabs/puppet/modules:/opt/puppet/share/puppet/modules
Я бы рекомендовал использовать только один путь к модулю, установленный в вашем [master]
раздел, а именно:
modulepath = $confdir/environments/$environment/modules:/etc/puppetlabs/puppet/modules:/opt/puppet/share/puppet/modules
Это не только означает, что вам меньше нужно вводить файл конфигурации, но и упрощает добавление новой среды, если вам это необходимо. И, оставив путь к модулям по умолчанию, вам не нужно копировать все модули, специфичные для PE, в каждую среду.