จะเปลี่ยนช่วงเวลาการสำรวจของ Puppet master ได้อย่างไร?


16

ตามค่าเริ่มต้นลูกค้าหุ่นกระบอกจะขอการปรับปรุงทุก ๆ 30 นาที ฉันต้องการเปลี่ยนช่วงเวลานี้ วิธีที่สะดวกที่สุดในการทำคืออะไร?

คำตอบ:


30

บนไคลเอนต์ให้แก้ไข /etc/puppet/puppet.conf และตั้งค่าต่อไปนี้ (เพิ่มบรรทัดใหม่หากยังไม่ปรากฏ) ในส่วน [main] ของไฟล์:

runinterval=xxx

โดยที่ xxx คือช่วงเวลาการโพลที่คุณต้องการในไม่กี่วินาที


Runinterval

ตัวแทนหุ่นเชิดใช้แคตตาล็อกบ่อยเพียงใด โปรดทราบว่า Runinterval ที่เป็น 0 หมายถึง“ รันอย่างต่อเนื่อง” มากกว่า“ ไม่เคยรัน” หากคุณต้องการให้ตัวแทนหุ่นเชิดไม่เคยวิ่งคุณควรเริ่มด้วยตัวเลือก --no-client การตั้งค่านี้อาจเป็นช่วงเวลาเป็นวินาที (30 หรือ 30s), นาที (30m), ชั่วโมง (6h), วัน (2d) หรือปี (5y)

Default: 30m

1
ในครั้งเดียวการเปลี่ยนแปลงช่วงรันไทม์นั้นหมดกำลังใจเนื่องจากปัญหาการรั่วไหลของหน่วยความจำ ฉันไม่ทราบว่ายังมีข้อกังวลนั้นหรือไม่
Scott Pack

+1 แพ็ค - จุดดี ฉันไม่เห็นปัญหานั้นตั้งแต่อัปเกรดเป็น 2.6 บน Centos 5.5 (64 บิต)
Patrick R

คุณสามารถเริ่มไคลเอนต์ Puppet ด้วยพารามิเตอร์ --runinterval = x
Lauri Lehmijoki

6

หากคุณต้องการหลีกเลี่ยงการใช้ runinterval การตั้งค่า cron สามารถทำงานได้ดี สิ่งนี้อาจมีประโยชน์อย่างยิ่งหากคุณมีเซิร์ฟเวอร์จำนวนมากที่คุณต้องการป้องกันไม่ให้กดปุ่ม puppetmaster ของคุณพร้อมกัน ฉันใช้ puppetmaster เพื่อผลักไฟล์และอัปเดต 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.