Bagaimana cara mengubah interval polling dari master Wayang?

16

Secara default, klien Wayang meminta pembaruan setiap 30 menit. Saya ingin mengubah interval ini. Apa cara paling nyaman untuk melakukannya?

Lauri Lehmijoki
sumber

Jawaban:

30

Pada klien, edit /etc/puppet/puppet.conf dan atur yang berikut (tambahkan baris baru jika belum ada) di bagian [utama] file:

runinterval=xxx

di mana xxx adalah interval pemungutan suara yang Anda inginkan dalam detik.


Runinterval

Seberapa sering agen wayang menerapkan katalog. Perhatikan bahwa runinterval 0 berarti "jalankan terus menerus" daripada "tidak pernah berjalan." Jika Anda ingin agen boneka tidak pernah berjalan, Anda harus memulainya dengan opsi --no-client. Pengaturan ini dapat berupa interval waktu dalam detik (30 atau 30s), menit (30m), jam (6h), hari (2d), atau tahun (5y).

Default: 30m
Mike Scott
sumber
1
Pada suatu waktu mengubah runinterval tidak disarankan karena masalah kebocoran memori. Saya tidak tahu apakah kekhawatiran itu masih berlaku.
Scott Pack
Paket +1 - poin bagus. Saya belum melihat masalah itu sejak memutakhirkan ke 2.6 pada Centos 5.5 (64bit)
Patrick R
Anda juga dapat memulai klien Wayang dengan parameter --runinterval = x
Lauri Lehmijoki
6

Jika Anda ingin menghindari penggunaan runinterval, menyiapkan cron bisa berfungsi dengan baik. Ini bisa sangat berguna jika Anda memiliki banyak server yang ingin Anda hindari memukul puppetmaster Anda secara bersamaan. Saya menggunakan puppetmaster untuk mendorong keluar file dan memperbarui cron, tidak ada hubungannya dari sisi klien (jelas).

Inilah yang saya gunakan (perhatikan bahwa saya menjalankannya setiap jam tetapi Anda bisa merujuknya saja di cron.d, saya tidak membuat skrip ini dan sayangnya tidak tahu siapa yang harus dikreditkan ):

#!/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
Patrick R
sumber
6
Anda dapat mencapai tidur acak yang sama menggunakan pengaturan splay dan splaylimit di puppet.conf saat dijalankan sebagai layanan. docs.puppetlabs.com/references/latest/configuration.html#splay
czervik