2015-10-02 2 views
3

Я ищу кого-то, кто объяснит использование splay & splaylimit в конфигурации Puppet.Puppet splay & splaylimit объяснил?

Документация на самом Кукольном сайте ограничена, если не сказать больше. Я страдаю от громоподобного стада на моем хозяине, т. Е. Множество агентов, забивающих агента для своего каталога, сразу, до того момента, когда мастер падает, и каждый агент сообщает об ошибке таймаута.

Я знаю, что мне нужно использовать splay & параметры splaylimit в моей конфигурации, чтобы сразу остановить всех агентов, но я не уверен, как их реализовать. Может ли кто-нибудь помочь, пожалуйста?

ответ

7

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

Обычно агент, работающий в режиме демона, запускает запуск каталога при первом запуске и снова в интервале runinterval. Если опция splay установлена ​​true, вместо этого она генерирует (псевдо) случайную задержку, не превышающую splaylimit, и задерживает начало каждого каталога, выполняемого на этот промежуток времени, относительно того, когда он был бы запущен, если раскрутка отключена.

Таким образом, если у вас есть проблемы громового стада, возникающие из многих агентов времени начались примерно в то же время, то вы могли бы попытаться решить ее, установив

splay = true 

в конфигурации ваших агентов. Если вы не сконфигурируете конкретный splaylimit, то по умолчанию он будет равен runinterval, в результате чего запущены каталоги всех агентов, запущенных в то же время, которые будут распространяться более или менее равномерно на протяжении всего интервала и, следовательно, в течение всего времени в будущем.

С другой стороны, если запуск вашего агента не так или иначе организован, чтобы заставить их сгруппироваться, то раскрутка на самом деле ничего не делает для вас. То есть, если стартапы агентов в любом случае являются примерно случайными, то это не поможет вам сменить циклы запросов каталога.

Я думаю расставленными также может помочь при запуске агента в режиме --onetime через внешний планировщик (например, cron). Это будет хорошим вариантом использования для настройки splaylimit, поскольку в этом случае сконфигурированный runinterval не имеет никакого отношения к тому, когда и как часто выполняется агент.

+0

Спасибо, Джон, это мое понимание именно так, поэтому я рад, что кто-то подтвердит это. У нас нет нашего набора runinterval, поэтому он имеет значение по умолчанию 30 минут. Где бы вы установили параметр splay = true? У меня есть это в моей puppet.conf в разделе агента. Но агент работает, похоже, не пошатнулся, чтобы предотвратить проблему громоподобного стада. Нужно ли быть в кукольном мастере puppet.conf? Если да, то куда? Под мастер-секцией? – LLB3000

+1

@CoolHandLuke, параметр 'splay' должен быть установлен в разделе' [agent] 'агента' puppet.conf'. Убедитесь, что вы работаете с правильным «puppet.conf», поскольку каталог, в котором он ищет Puppet, зависит от идентификатора пользователя и параметров командной строки. Перезапустите агенты после внесения изменений. Кроме того, убедитесь, что это действительно проблема громоподобного стада, а не проблема с общей емкостью сервера. –

 Смежные вопросы

  • Нет связанных вопросов^_^