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

Изменения в Puppetmaster не всегда сразу распознаются Puppet-агентами

Введение

Несколько раз в день изменения в Puppetmaster не сразу распознаются агентами Puppetmaster. В этом случае Puppet необходимо запустить более 5 раз (например, X <5 минут), прежде чем изменения будут распознаны.

Ожидается

Изменения в Puppetmaster всегда должны распознаваться Puppet-agent сразу.

Попытки

Одна из попыток решить проблему была предпринята после прочтения эта документация:

Puppet includes a basic puppet master web server based on Ruby’s WEBrick library.
(This is what Puppet uses if you run puppet master on the command line or use
most puppetmaster init scripts.)

You cannot use this default server for real-life loads, as it can’t handle 
concurrent connections; it is only suitable for small tests with ten nodes 
or fewer. You must configure a production quality web server before you
start managing your nodes with Puppet.

Any Rack-based application server stack will work with a puppet master, but if 
you don’t have any particular preference, you should use Passenger combined 
with Apache. This guide shows how to configure Puppet with this software.
  1. Запустите puppetmaster с помощью Passenger.
  2. Другой попыткой было остановить автоматический запуск марионетки на узлах Puppet-agent каждые 30 минут.

Текущий

Попытки не решили проблему, т.е. изменения в Puppetmaster не сразу распознаются Puppet-agent

Скорее всего, это проблема с кешированием сред - по умолчанию в 3.7 данные из среды в файловой системе будут кэшироваться в течение 3 минут, поэтому изменения не будут видны узлам агента, пока этот кеш не истечет.

Отрегулируйте мастер environment_timeout чтобы получить желаемое поведение, с предупреждением о том, что 0 полное исключение кеширования может иметь неприятные последствия для производительности.