Как отключить автоматические запланированные запуски кукол, которые происходят каждые 30 минут?

8

цель

Целью является отключение автоматических запусков 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 вопросов об этом вопросе и ответе, но предоставленная информация не ответила на вопрос.

+030
источник
2
Попытка должна работать. Если он уже запущен, вы должны остановить его самостоятельно. Это только предотвращает демонизацию будущих экземпляров. Если я что-то упустил, пожалуйста, уточните, почему это не сработало. Вы также можете chkconfig puppet off && service puppet stopна Red Hat и производных.
Аарон Копли
@AaronCopley Спасибо за совет. Я отключил и остановил куклу и буду следить за тем, не запускается ли она снова каждые 30 минут. daemonize=falseУстановка по- прежнему находится в разделе Агент в /etc/puppet/puppet.conf
030
@AaronCopley Не могли бы вы оставить комментарий в качестве ответа?
0:30

Ответы:

10

«Попытка одна» должна была сработать. Если он уже запущен, вы должны остановить его самостоятельно. Это только предотвращает демонизацию будущих экземпляров. Если я что-то упустил, пожалуйста, уточните, почему это не сработало. Вы также можете chkconfig puppet off && service puppet stopна Red Hat и производных.

Аарон Копли
источник
Возможно, это не сработало в первый раз, так как марионеточный агент не был перезапущен. Завтра я проверю, решило ли выполнение предоставленной команды проблему.
0:30
4

Вы должны убедиться, что марионеточный агент не запускается в качестве службы. Команды, как 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для хорошей меры, затем попробуйте еще раз, если это все еще не работает - перезагрузите компьютер.

chutz
источник
3

Вы ищете команду, как:

puppet agent --disable
TomOnTime
источник
Спасибо за публикацию ответа. Выполнение этой команды приводит кError: Could not parse application options: invalid option: --disable
030
1
должен быть марионеточным агентом --disable
dmourati
@dmourati Это команда была выполнена. sudo puppet agent -tрезультаты вNotice: Skipping run of Puppet configuration client; administratively disabled (Reason: 'reason not specified'); Use 'puppet agent --enable' to re-enable.
030
@TomOnTime Это уже было опробовано. Как только эта команда была выполнена, больше невозможно запускать марионетку вручную (документация по Attempt2 в вопросе)
030
1
Это то, что вы хотели: административно отключен. Если вам нужно запускать вручную, пока административно отключено: puppet agent --enable; кукольный агент - тест; кукольный агент
отключено
2

Я бы не ожидал, что параметр daemonize повлияет на это - я бы ожидал, что он будет управлять тем, будет ли программа работать самостоятельно и отсоединяться от терминала.

https://docs.puppetlabs.com/references/stable/configuration.html#runinterval говорит ...

runinterval

Как часто кукольный агент применяет каталог. Обратите внимание, что интервал выполнения 0 означает «работать непрерывно», а не «никогда не запускать». Если вы хотите, чтобы агент puppet никогда не запускался, вы должны запустить его с параметром --no-client. Этот параметр может быть интервалом времени в секундах (30 или 30 с), минутах (30 м), часах (6 ч), днях (2 д) или годах (5 лет).

который кажется более актуальным (ссылка на начало, --no-clientа не на саму настройку).

Когда нам нужно остановить регулярное внесение изменений в Puppet, мы просто останавливаем службу на управляемом узле. Это, очевидно, означает, что вы должны иметь возможность вызывать одноразовый прогон через какой-то другой механизм (мы делаем это не часто, поэтому просто запускаем из оболочки).

С этой настройкой puppetd работает, но не выполняет регулярные обновления (это мое ожидание - я пробую это на тестовой машине, но еще не прошло достаточно времени).

Запуск puppet agent --testприведет к одному запуску, но не будет планировать дальнейшие запуски.

Пол Холдейн
источник
Спасибо за публикацию ответа. Означает ли это, что если кто-то случайно запустится, например, sudo puppet agent -tчто запланированный прогон будет возобновлен?
0:30
Нет, -tподразумевается no-daemonize. (Так же , как onetime, verbose, ignorecache, no-usecacheonfailure, detailed-exit-codes, no-splay, и show_diff.) Вы можете увидеть это на выходе puppet agent help.
Аарон Копли
1

sudo service puppet stop если вы работаете с кукольным демоном

Или удалите cronjob, если он настроен именно так.

dmourati
источник
Приводит ли установка агента Puppet к работе cron? Я не настроил cronjob для запуска Puppet сам.
0:30
Нет, установка по умолчанию не приводит к созданию задания cron. Если вы решите запускать Puppet без службы daemonized, вы можете создать задание cron самостоятельно .
Аарон Копли
1
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. ;)

БЛА
источник
0

Как я упоминал в связанном вопросе , есть одна возможность запустить puppet-agent и отключить запуск конфигурации, он может измениться runintervalна очень большое значение, например, 10 лет или что-то в этом роде. Но это решение все еще вызывает запуск конфигурации после перезапуска агента.

Александр Толкачев
источник