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ì?
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:
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.
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
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