Назад | Перейти на главную страницу

Как предотвратить вмешательство марионетки в ручные изменения сервера

Большая часть конфигурации нашего сервера управляется через марионетку. Puppet запускается каждые 15 минут через cron и применяет изменения конфигурации.

Если на сервере возникают проблемы, мне иногда нужно вручную изменить конфигурацию на сервере (например, попробовать другие настройки, включить больше журналов). Проблема в том, что puppet перезаписывает мои ручные изменения при каждом запуске задания cron.

Что бы вы порекомендовали для решения этой проблемы?

Может, деактивировать марионетку во время работы на серверах? Возможен риск того, что я забуду включить его, а затем один сервер рассинхронизируется.

Обычно я делаю следующее

  • Остановить марионетку на этой машине вручную
  • У вас должен быть нагиос или инструмент мониторинга по вашему выбору, который будет предупреждать меня, когда марионетка не запускалась более 2 часов.
  • Если вы хотите быть особенно осторожными, также создайте сторожевой таймер для кукол, который проверяет наличие файла / var / run, если вы правильно остановите марионетку, он сотрет его, если файл есть, но нет процесса, он умер, поэтому он снова запустится

С # 1 и # 2 вы охватите 99% сценариев вашего случая, и, если вы хотите, может быть, # 3 поможет вам, когда марионетка плохо себя ведет (иногда это случалось со мной)

Удачи!

Я просто делаю частью своей рутины проверку панели инструментов Puppet на наличие хостов, которые в последнее время не отправляли новые отчеты, и отключаю Puppet во время работы. На панели инструментов есть раздел специально для этих хостов, что позволяет легко их идентифицировать.

В качестве альтернативы вы можете закомментировать конфигурацию для этого узла или добавить schedule к нему, что исключает время, которое вы над этим будете работать. В обоих случаях вы все равно можете забыть об этом, хотя в последнем случае проблема смягчается.

Ответ lynxman хороший. Я последую его совету.

Кроме того, я бы посмотрел на какие вы просите марионетку сделать.

Например, если вы просите марионетку скопировать файл поверх /etc/hostsмогли бы вы вместо этого редактировать файл, добавив / установив нужные вам определения (через puppet-augeas)? Если вам нужно было внести другие изменения в файл для отладки на хосте, пока ваши изменения не были связаны с теми, которые делала марионетка, марионетка больше не перезаписывала вашу работу.