Làm thế nào để thay đổi khoảng thời gian bỏ phiếu của Master Puppet?


16

Theo mặc định, khách hàng của Puppet yêu cầu cập nhật cứ sau 30 phút. Tôi muốn thay đổi khoảng thời gian này. Cách thuận tiện nhất để làm điều đó là gì?

Câu trả lời:


30

Trên (các) máy khách, chỉnh sửa /etc/puppet/puppet.conf và đặt dòng sau (thêm một dòng mới nếu nó chưa xuất hiện) trong phần [chính] của tệp:

runinterval=xxx

trong đó xxx là khoảng thời gian bỏ phiếu mong muốn của bạn trong vài giây.


Runinterval

Làm thế nào thường xuyên đại lý con rối áp dụng các cửa hàng. Lưu ý rằng giá trị 0 có nghĩa là chạy liên tục, thay vì không bao giờ chạy. Khác Nếu bạn muốn tác nhân bù nhìn không bao giờ chạy, bạn nên bắt đầu với tùy chọn --no-client. Cài đặt này có thể là khoảng thời gian tính bằng giây (30 hoặc 30 giây), phút (30m), giờ (6h), ngày (2ngày) hoặc năm (5y).

Default: 30m

1
Trong một lần thay đổi runinterval đã không được khuyến khích vì vấn đề rò rỉ bộ nhớ. Tôi không biết nếu mối quan tâm đó vẫn còn áp dụng.
Scott Pack

Gói 1 - điểm tốt. Tôi chưa thấy vấn đề đó kể từ khi nâng cấp lên 2.6 trên Centos 5.5 (64 bit)
Patrick R

Bạn cũng có thể bắt đầu ứng dụng khách rối với tham số --runinterval = x
Lauri Lehmijoki

6

Nếu bạn muốn tránh sử dụng runinterval, thiết lập cron có thể hoạt động tốt. Điều này có thể đặc biệt hữu ích nếu bạn có nhiều máy chủ mà bạn muốn tránh đánh con rối cùng một lúc. Tôi đã sử dụng con rối để đẩy tập tin ra và cập nhật cron, không có gì để làm từ phía khách hàng (rõ ràng).

Đây là những gì tôi đang sử dụng (lưu ý rằng tôi đang chạy nó hàng giờ nhưng bạn chỉ có thể tham khảo nó trong cron.d, tôi đã không tạo tập lệnh này và thật không may là không biết phải ghi có ai ):

#!/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
Bạn có thể đạt được cùng một giấc ngủ ngẫu nhiên bằng cách sử dụng cài đặt splay và splaylimit trong Puppet.conf khi chạy như một dịch vụ. docs.puppetlabs.com/references/latest/configuration.html#splay
czervik
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.