У меня есть файловые структуры для двух сред на моем главном сервере марионеток. Выполнение ls / etc / puppetlabs / code / environment /
на моем главном сервере возвращает две папки beta
и production
.
Но когда я использую свой агент и запустите puppet apply -t --environment beta
Я получаю сообщение об ошибке:
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/environments.rb:38:in `get!':
Could not find a directory environment named 'beta' anywhere in the path: /etc/puppetlabs/code/environments.
Does the directory exist? (Puppet::Environments::EnvironmentNotFound)
На главном сервере я могу успешно применить бета-манифест с помощью puppet apply / etc / puppetlabs / code / environments / beta / manifestests / site.pp
.
Я пытаюсь выяснить, почему Puppet не обнаруживает папку. среда «production», переключение агента на «production».
/etc/puppetlabs/puppet/puppet.conf
(на агенте) выглядит следующим образом:
# This file can be used to override the default puppet settings.
# See the following links for more details on what settings are available:
# - https://docs.puppetlabs.com/puppet/latest/reference/config_important_settings.html
# - https://docs.puppetlabs.com/puppet/latest/reference/config_about_settings.html
# - https://docs.puppetlabs.com/puppet/latest/reference/config_file_main.html
# - https://docs.puppetlabs.com/puppet/latest/reference/configuration.html
Используется версия с открытым исходным кодом.
Использовать марионеточного агента ...
, вместо марионетки применить ...
. Используемые вами параметры применимы к первому, а не второму.
другой вариант - в / etc / hosts агента - имя сервера не такое, как указано в результате команды hostname
это может вызвать путаницу, когда агент обменивается данными с марионеточным сервером