Как отключить автоматические запланированные запуски кукол, которые происходят каждые 30 минут?
цель
Целью является отключение автоматических запусков Puppet-агента, которые происходят каждые 30 минут. Можно изменить интервал, но автоматические запуски Puppet-агента должны быть полностью отключены.
Попытка одного
Согласно этой документации, должна быть возможность отключить автоматический запуск Puppet-агента, настроив следующее:
/etc/puppet/puppet.conf
[agent]
daemonize=false
результаты в
Notice: Run of Puppet configuration client already in progress;
skipping (/var/lib/puppet/state/agent_catalog_run.lock exists)
если кукла запускается вручную с интервалом запуска по умолчанию 30 минут.
Попытка два
user@hostname:~$ sudo puppet agent --disable
результаты в
user@hostname:~$ sudo puppet agent -t
Notice: Skipping run of Puppet configuration client;
administratively disabled (Reason: 'reason not specified');
Use 'puppet agent --enable' to re-enable.
Попытка три
Эта документация была найдена после поиска в Google вопросов об этом вопросе и ответе, но предоставленная информация не ответила на вопрос.
7 ответов
"Попытка одна" должна была сработать. Если он уже запущен, вы должны остановить его самостоятельно. Это только предотвращает демонизацию будущих экземпляров. Если я что-то упустил, пожалуйста, уточните, почему это не сработало. Вы также можете chkconfig puppet off && service puppet stop
на Red Hat и производных.
Вы должны убедиться, что марионеточный агент не запускается как услуга. Команды как systemctl
, или же chkconfig
Ваш друг здесь (например, systemctl disable puppet
или же chkconfig puppet off
). Не уверен насчет большинства дистрибутивов.
Затем вы также должны убедиться, что агент остановлен. Например systemctl stop puppet
или же service stop puppet
,
Вы также можете просто использовать кукольный для достижения вышеупомянутого:
puppet apply <(echo "service { puppet: ensure => false, enable => false }")
Если это все еще не работает, pkill puppet
для хорошей меры, затем попробуйте снова, если это все еще не работает - перезагрузите компьютер.
Я бы не ожидал, что параметр daemonize повлияет на это - я бы ожидал, что он будет управлять тем, будет ли программа работать самостоятельно и отсоединяться от терминала.
https://docs.puppetlabs.com/references/stable/configuration.html говорит...
runinterval
Как часто кукольный агент применяет каталог. Обратите внимание, что runinterval, равный 0, означает "работать непрерывно", а не "никогда не запускать". Если вы хотите, чтобы puppet agent никогда не запускался, вы должны запустить его с параметром --no-client. Этот параметр может быть временным интервалом в секундах (30 или 30 с), минутах (30 м), часах (6 ч), днях (2 д) или годах (5 лет).
который кажется более актуальным (ссылка на начало с --no-client
а не сама настройка).
Когда нам нужно остановить регулярное внесение изменений в Puppet, мы просто останавливаем службу на управляемом узле. Это, очевидно, означает, что вы должны иметь возможность вызывать одноразовый прогон через какой-то другой механизм (мы делаем это не часто, поэтому просто запускаем из оболочки).
С этой настройкой puppetd работает, но не выполняет регулярные обновления (это мое ожидание - я пробую это на тестовой машине, но еще не прошло достаточно времени).
Бег puppet agent --test
будет вызывать один прогон, но не будет планировать дальнейшие прогоны.
puppet --version
возвращается
5.3.3
puppet resource service puppet ensure=stopped enable=false
возвращается
Notice: /Service[puppet]/ensure: ensure changed 'running' to 'stopped'
service { 'puppet':
ensure => 'stopped',
enable => 'false',
}
Противоположно stopped
является running
, Противоположно false
является true
,;)
sudo service puppet stop
если вы работаете с кукольным демоном
Или удалите cronjob, если вы настроили его так.
Как я упоминал в связанном вопросе, одна возможность запустить puppet-agent и отключить запуск конфигурации - это изменить runinterval
очень большое значение, например, 10 лет или что-то в этом роде. Но это решение все еще вызывает запуск конфигурации после перезапуска агента.