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

Марионетка и динамические среды

Я пытаюсь настроить динамические среды, используя 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, в каждую среду.