Нацелиться
Цель состоит в том, чтобы отключить автоматические выполнения Марионеточного агента, которые происходят каждые 30 минут. Возможно изменить интервал, но автоматические выполнения Марионеточного агента должны быть отключены полностью.
Делайте попытку того
Согласно этой документации должно быть возможно отключить автоматические выполнения Марионеточного агента путем конфигурирования следующего:
/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 вопроса этого Вопросы и ответы, но предоставленная информация не отвечала на вопрос.
"Попытка одна" должна была сработать. Если она уже была запущена, вы должны остановить ее сами. Это просто мешает будущим случаям демонизировать. Если я что-то упускаю, пожалуйста, объясните, почему это не сработало. Вы также можете chkconfig марионетку выключить && service марионетку стоп
на Red Hat и производных.
Я бы не ожидал, что на это повлияет опция даемонизирования - я бы ожидал, что она будет контролировать, будет ли программа сама фоном и отсоединится от терминала.
https://docs.puppetlabs.com/references/stable/configuration.html#runinterval говорит ...
runinterval
как часто марионеточный агент применяет каталог. Обратите внимание, что runinterval of 0 означает "бежать непрерывно", а не "никогда не бежать". Если ты хочешь марионетку агента, чтобы никогда не бежать, вы должны начать с опции --н-не-клиент. Эта настройка может быть временной интервал в секундах (30 или 30 с), минутах. (30м), часы (6ч), дни (2d) или годы (5 гр).
, что кажется более уместным (ссылка на начало с -не-клиента
, а не на саму установку).
Когда нам нужно остановить марионетку, производящую регулярные изменения, мы просто останавливаем обслуживание на управляемом узле. Очевидно, что это означает, что вы должны быть в состоянии вызвать однократный запуск через какой-то другой механизм (мы не часто это делаем, поэтому просто запускаем из оболочки командной строки).
С этой установкой кукла работает, но не делает регулярных обновлений (это мое ожидание - я пытаюсь это сделать на тестовой машине, но еще не прошло достаточно времени).
Запуская -агент марионеток --test
вызовет одиночный запуск, но не будет планировать никаких будущих запусков.
sudo service puppet stop
, если вы используете марионеточный демон
или удалите кронжоб, если он настроен именно так.
. Как я уже упоминал в связанном вопросе , одна возможность запустить puppet-agent и отключить запуск конфигурации, это изменение runinterval
до очень большого значения, например, 10 лет или что-то в этом роде. Но это решение по-прежнему запускает запуск конфигурации после перезапуска агента.
Необходимо убедиться, что марионеточный агент не запускается как служба. Вам здесь могут помочь такие команды, как 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
на всякий случай, попробуйте еще раз, если все равно не работает - перезагрузитесь.
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',
}
Противоположность остановлен
- работает
. Противоположность ложь
- истина
. ;)