퍼펫 마스터의 폴링 간격을 변경하는 방법은 무엇입니까?


16

기본적으로 Puppet 클라이언트는 30 분마다 업데이트를 요청합니다. 이 간격을 변경하고 싶습니다. 가장 편리한 방법은 무엇입니까?

답변:


30

클라이언트에서 /etc/puppet/puppet.conf를 편집하고 파일의 [main] 섹션에서 다음을 설정합니다 (없는 경우 새 줄 추가).

runinterval=xxx

여기서 xxx는 원하는 폴링 간격 (초)입니다.


런 간격

꼭두각시 에이전트가 카탈로그를 적용하는 빈도입니다. 실행 간격이 0이면 "실행하지 않음"이 아니라 "지속적으로 실행"을 의미합니다. 꼭두각시 에이전트를 절대 실행하지 않으려면 --no-client 옵션으로 시작해야합니다. 이 설정은 초 (30 또는 30 초), 분 (30m),시 (6h), 일 (2d) 또는 연도 (5y)의 시간 간격이 될 수 있습니다.

Default: 30m

1
한 번에 메모리 누수 문제로 인해 실행 간격을 변경하지 않는 것이 좋습니다. 그 우려가 여전히 적용되는지 모르겠습니다.
Scott Pack

+1 팩-좋은 지적. Centos 5.5 (64 비트)에서 2.6으로 업그레이드 한 이후로이 문제를 보지 못했습니다
Patrick R

또한 매개 변수 --runinterval = X로 인형 클라이언트를 시작할 수 있습니다
라 우리 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
서비스로 실행할 때 puppet.conf의 splay 및 splaylimit 설정을 사용하여 동일한 임의 절전 모드를 달성 할 수 있습니다. docs.puppetlabs.com/references/latest/configuration.html#splay
czervik
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.