Foreman: различия между версиями
Pav (обсуждение | вклад) |
м (→Запуск сервиса) |
||
Строка 48: | Строка 48: | ||
=== Запуск сервиса === | === Запуск сервиса === | ||
{{Attention|Для версии foreman-а 1.x, чтобы при первом запуске '''foreman''' корректно обработал стартовый скрипт(используя значения по умолчанию), переименуйте файл конфигурации | {{Attention|Для версии foreman-а 1.x, чтобы при первом запуске '''foreman''' корректно обработал стартовый скрипт(используя значения по умолчанию), переименуйте файл конфигурации: | ||
<syntaxhighlight lang="bash"># mv /etc/foreman/settings.yml /etc/foreman/settings.yml.example</syntaxhighlight> }} | |||
Проверьте, чтобы были закомментированны строки в файле ''/etc/puppet/puppet.conf'', как указано в разделе [https://www.altlinux.org/Puppet#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_puppet_%D0%B4%D0%BB%D1%8F_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B_%D1%81_Foreman Настройка puppet для работы с Foreman] | Проверьте, чтобы были закомментированны строки в файле ''/etc/puppet/puppet.conf'', как указано в разделе [https://www.altlinux.org/Puppet#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_puppet_%D0%B4%D0%BB%D1%8F_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B_%D1%81_Foreman Настройка puppet для работы с Foreman] | ||
Настройте системную службу foreman-а на автозапуск (по желанию): | Настройте системную службу foreman-а на автозапуск (по желанию): |
Версия от 14:25, 1 августа 2023
Foreman
Foreman это средство автоматизации повторяющихся задач, развёртывания приложений, управления циклом жизни ваших серверов по отдельности или в облаке.
Пример реализации - Связка Puppet и Foreman.
Подготовка
Перед установкой убедитесь что PostgreSQL версии 11 и выше установлена и инициализирована. Это важно.
Установка
Чтобы установить средство, от администратора устанавливаем foreman. Всё требуемое вытянется по зависимостям.
# apt-get install foreman puppet-theforeman-foreman foreman-addons # apt-get dist-upgrade
# apt-get update # apt-get install foreman puppet-theforeman-foreman puppet-theforeman-puppetserver-foreman # 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 не будет рабочий. Проверьте установку компонентов и повторите.
Запуск сервиса
# mv /etc/foreman/settings.yml /etc/foreman/settings.yml.example
Проверьте, чтобы были закомментированны строки в файле /etc/puppet/puppet.conf, как указано в разделе Настройка puppet для работы с Foreman
Настройте системную службу foreman-а на автозапуск (по желанию):
# systemctl enable foreman
а дальше запустите (в случае, если сервис работает, то он будет перезапущен):
# systemctl restart foreman
Отныне средство будет доступно по адресу https://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
Добавьте в файл /etc/foreman/settings.yml параметры:
:trusted_hosts: [sample.server.name,localhost] :host_details_ui: false
После внесения изменений и перезапуска сервиса
# systemctl restart foreman
Веб-интерфейс Форемана будет доступен http://localhost:2345
Веб-интерфейс будет доступен https://localhost:2345
Настройка модуля ENC для взаимодействия с Puppetserver
Когда Foreman установлен и к нему подключен(-ы) Smart_Proxy, необходимо отредактировать файл /etc/puppet/puppet.conf
Раскомментируем строки:
[master] ... external_nodes = /usr/lib/puppet-modules/theforeman-foreman/files/external_node_v2.rb node_terminus = exec
[master] ... external_nodes = /usr/lib/puppet-modules/puppetserver-foreman/files/enc.rb node_terminus = exec
[master] ... external_nodes = /usr/lib/puppet-modules/theforeman-puppetserver-foreman/files/enc.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
После обновления до версии 3.5 потребуется выполнить:
# apt-get dist-upgrade # railsctl setup foreman
и произвести перезагрузку сервера.
Обновление зависимых пакетов
В случае обновления зависимых пакетов (самоцветов), при отсутствии обновления для foreman, необходимо точно в соответствии с пунктом Переустановка или обновление выполнить все теже описанные в нём действия.
Пример:
# apt-get install gem-rails # railsctl cleanup foreman # mkdir -p /var/cache/foreman/openid-store # railsctl setup foreman
Полное удаление
# railsctl mrproper foreman