Существует марионеточный сервер в компании, на которую я работаю с установленным Диспетчером.
Существует приблизительно 200 машин Linux, которыми управляет Марионеточный сервер.
При взгляде в Диспетчере GUI большая часть сервера появляется с зеленым значком, не говоря "Изменений", но существуют некоторые серверы, которые появляются с желтой / оранжевой иконкой с подсказкой, говорящей "из синхронизации".
Вы видите в следующем снимке экрана, что большинство серверов появляется с зеленым состоянием, и только сервер "sgproxy08" вне синхронизации:
Выполнение puppet agent -t
на sgproxy08 сервере заканчивается правильно:
[root@sgproxy08 ~]# puppet agent -t
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for sgproxy08.sg.company.com
Info: Applying configuration version '1436862601'
Notice: Finished catalog run in 49.90 seconds
[root@sgproxy08 ~]#
Теперь существует два вопроса:
Я нашел причину рассинхронизации уведомлений в Foreman.
Похоже, что на этих серверах застрял процесс puppet agent -t
, он выглядит так:
root 7531 21487 0 Aug09 ? 00:00:03 puppet agent: applying configurat
Как только я завершил этот процесс и снова запустил puppet agent -t
- проблема решена.
Если вы используете Foreman 1.8 или более раннюю версию, ваш хост будет отображаться как «не синхронизированный» только в том случае, если Foreman не получил никаких отчетов для этого хоста в течение 5 минут дольше установленного значения » puppet_interval '(проверьте его в Администрирование> Настройки). По умолчанию это будет 35 минут . Есть параметр « outofsync_interval », который позволяет вам настроить это в Foreman 1.9.
Чтобы начать устранение неполадок (отсутствующие отчеты), я бы посмотрел на / var / log / foreman / production.log
на своих ящиках Foreman и проверьте, получаете ли вы отчет от этого хоста, когда Puppet завершает свой запуск.
Хосты могут быть не синхронизированы из-за перезапуска хоста/сервера, проблем с сетью или несоответствия версий марионеток между сервером и агентом.
В случае несоответствия версии вы можете обновить puppet agent, чтобы он соответствовал версии сервера, и синхронизировать хост с помощью «puppet agent -t».
Если у вас включен плагин удаленного-выполнения и удаленного-выполнения-ssh для мастера, вы можете запустить команду «puppet agent -t» из консоли мастера для рассинхронизированного хоста. Ниже приведены шаги:
Включение подключаемых модулей удаленного-выполнения на сервере мастера, может потребоваться перезагрузка сервера
sudo foreman-installer --enable-foreman-plugin-remote-execution --enable-foreman-proxy-plugin-remote-execution-ssh
Синхронизация хоста