Як змінити інтервал опитування майстра ляльок?


16

За замовчуванням клієнти ляльок просять оновлення кожні 30 хвилин. Я хотів би змінити цей інтервал. Який найзручніший спосіб це зробити?

Відповіді:


30

На клієнтах відредагуйте /etc/puppet/puppet.conf та встановіть наступне (додайте новий рядок, якщо його ще немає) у розділі [головного] файлу:

runinterval=xxx

де xxx - бажаний інтервал опитування в секундах.


Runinterval

Як часто ляльковий агент застосовує каталог. Зауважте, що інтервал виконання 0 означає «запускати постійно», а не «ніколи не бігти». Якщо ви хочете, щоб ляльковий агент ніколи не запускався, слід запустити його з опції --no-client. Цей параметр може бути інтервалом часу в секундах (30 або 30с), хвилинах (30м), годинах (6 год), днях (2д) або роках (5р).

Default: 30m

1
Свого часу зміна пробігу інтервалу було відмовлено через проблеми з витоком пам'яті. Я не знаю, чи все одно це стосується.
Скотт Пак

+1 пачки - хороший бал. Я не бачив цього питання після оновлення до 2.6 на Centos 5.5 (64bit)
Патрік R

Ви також можете запустити Лялькового клієнта за допомогою параметра --runinterval = x
Lauri Lehmijoki

6

Якщо ви хочете уникати використання runinterval, налаштування крона могло б працювати добре. Це може бути особливо корисно, якщо у вас є багато серверів, які ви хочете одночасно не вражати свого лялькового майстра. Я використовував лялькового майстра, щоб виштовхнути файл і оновити cron, нічого не робити з боку клієнта (очевидно).

Ось що я використовую (зауважте, що я запускаю його щогодини, але ви можете просто посилатися на нього в cron.d, я не створив цей сценарій і, на жаль, не знаю, кому кредитувати ):

#!/bin/bash
#/etc/cron.hourly/puppetRun.sh

# This file managed by Puppet.

# Leave this script in cron.  To disable Puppet, run 'puppetd --disable'
# to temporarily suspend the running of Puppet for testing purposes.

PROG=`basename $0 .sh`
exec > /usr/local/logs/${PROG}.last.trace 2>&1
set -x

if [ -e "/var/run/puppet/puppetd.pid" ]; then
  echo "Puppet is already running or has been disabled.  Remove the lock file /var/run/puppet/puppetd.pid or run
'puppetd --enable'."
  exit
fi

# Randomly sleep so all Puppet clients don't hit the Puppet Master at once.
WAIT=$((RANDOM % 60 * 60))
echo "Sleeping $WAIT seconds..."
/bin/sleep $WAIT


/usr/sbin/puppetd --onetime --no-daemonize --logdest syslog > /dev/null 2>&1

6
Ви можете домогтися одного і того ж випадкового сну, використовуючи параметри splay і splaylimit у puppet.conf під час роботи в якості сервісу. docs.puppetlabs.com/references/latest/configuration.html#splay
czervik
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.