Foreman: различия между версиями
Pav (обсуждение | вклад) |
Pav (обсуждение | вклад) |
||
Строка 84: | Строка 84: | ||
external_nodes = /usr/lib/puppet-modules/puppetserver-foreman/files/enc.rb | external_nodes = /usr/lib/puppet-modules/puppetserver-foreman/files/enc.rb | ||
node_terminus = exec | node_terminus = exec | ||
{{Attention|Для пакета '''puppet''' версии ниже '''7.14.0''' требуется раскомментировать | |||
<pre>[master] | |||
... | |||
external_nodes = /usr/lib/puppet-modules/theforeman-foreman/files/external_node_v2.rb | |||
node_terminus = exec | |||
</pre>}} | |||
После изменения конфигурации Puppet потребуется перезапуск служб puppetserver и puppet | После изменения конфигурации Puppet потребуется перезапуск служб puppetserver и puppet |
Версия от 19:19, 7 февраля 2022
Foreman
Foreman это средство автоматизации повторяющихся задач, развёрстывания приложений, управления циклом жизни ваших серверов по отдельности или в облаке.
Пример реализации - Связка Puppet и Foreman.
Подготовка
Перед установкой убедитесь что PostgreSQL версии 11 и выше установлена и инициализирована. Это важно.
Установка
Чтобы установить средство, нужно от администратора поставить пакеты foreman, puppet-theforeman-foreman и foreman-addons, а всё требуемое вытянется по зависимостям.
# apt-get install foreman puppet-theforeman-foreman foreman-addons # apt-get dist-upgrade
Подготовьте экземпляр:
# railsctl setup foreman || echo "Ошибка подготовки"
Work dir is '/usr/lib/foreman' Processing rails application 'foreman' setup... Renewing dependencies... Checking migration and seeds... Generating API cache... Initializing webpack frontend... Initializing assets frontend... Cleaning... /var/log/foreman/db_setup.log:Login credentials: admin / MSaTPtFTwfsu5rcE
Если показывается надпись «Ошибка подготовки», то экземпляр Foreman не будет рабочий. Проверьте установку компонентов и повторите.
Запуск сервиса
Чтобы при первом запуске foreman корректно обработал стартовый скрипт(используя значения по умолчанию), переименуйте файл конфигурации
mv /etc/foreman/settings.yml /etc/foreman/settings.yml.example
Проверьте, чтобы были закомментированны строки в файле /etc/puppet/puppet.conf, как указано в разделе Настройка puppet для работы с Foreman
Настройте системную службу foreman-а на автозапуск (по желанию):
# systemctl enable foreman
а дальше запустите (в случае, если сервис работает, то он будет перезапущен):
# systemctl restart foreman
Отныне средство будет доступно по адресу http://localhost:2345 из обозревателя.
Пароль и логин администратора создаются автоматически, и возвращаются скриптом настойки (см. лог выше), однако их можно получить, заглянув в лог:
# grep "Login credentials" /var/log/foreman/ -r /var/log/foreman/db_seed.log:Login credentials: admin / <your_password>
Настройка параметров
Сделайте необходимые изменения в /etc/foreman/settings.yml, взяв примеры из полученного ранее файла /etc/foreman/settings.yml.example
а также установите параметр:
:require_ssl: false
После внесения изменений и перезапуска сервиса
# systemctl restart foreman
Веб-интерфейс Форемана будет доступен http://localhost:2345
Настройка модуля ENC для взаимодействия с Puppetserver
Когда Foreman установлен и к нему подключен(-ы) Smart_Proxy, необходимо отредактировать файл /etc/puppet/puppet.conf
Раскомментируем строки:
[master] ... external_nodes = /usr/lib/puppet-modules/puppetserver-foreman/files/enc.rb node_terminus = exec
[master] ... external_nodes = /usr/lib/puppet-modules/theforeman-foreman/files/external_node_v2.rb node_terminus = exec
После изменения конфигурации Puppet потребуется перезапуск служб puppetserver и puppet
# systemctl restart puppetserver # systemctl restart puppet
В результате запуска сервиса puppet, текущий сервер будет добавлен в список управляемых
Переустановка или обновление
Чтобы переустановить или обновить средство нужно выполнить ряд команд подряд, и затем снова выполнить настройку из соответствующего подраздела:
# railsctl cleanup foreman # mkdir -p /var/cache/foreman/openid-store # railsctl setup foreman
Полное удаление
# railsctl mrproper foreman