Foreman: различия между версиями
м (→Запуск сервиса) |
м (→Установка) |
||
Строка 19: | Строка 19: | ||
Чтобы установить средство, от администратора устанавливаем foreman. Всё требуемое вытянется по зависимостям. | Чтобы установить средство, от администратора устанавливаем foreman. Всё требуемое вытянется по зависимостям. | ||
{{Attention|Для версии foreman-а 1.x устанавливаем и обновляем такие пакеты }} | {{Attention|Для версии foreman-а 1.x устанавливаем и обновляем такие пакеты: | ||
<syntaxhighlight lang="bash"># apt-get install foreman puppet-theforeman-foreman foreman-addons | |||
# apt-get dist-upgrade</syntaxhighlight> }} | |||
{{Attention|Для версии foreman-а 3.x устанавливаем и обновляем такие пакеты: | |||
<syntaxhighlight lang="bash"># apt-get update | |||
# apt-get install foreman puppet-theforeman-foreman puppet-theforeman-puppetserver-foreman | |||
{{Attention|Для версии foreman-а 3.x устанавливаем и обновляем такие пакеты | # apt-get dist-upgrade</syntaxhighlight> }} | ||
Подготовьте экземпляр: | Подготовьте экземпляр: | ||
<syntaxhighlight lang="bash"># railsctl setup foreman || echo "Ошибка подготовки" | |||
Work dir is '/usr/lib/foreman' | Work dir is '/usr/lib/foreman' | ||
Строка 42: | Строка 39: | ||
Initializing assets frontend... | Initializing assets frontend... | ||
Cleaning... | Cleaning... | ||
/var/log/foreman/db_setup.log:Login credentials: admin / MSaTPtFTwfsu5rcE | /var/log/foreman/db_setup.log:Login credentials: admin / MSaTPtFTwfsu5rcE</syntaxhighlight> | ||
Если показывается надпись «Ошибка подготовки», то экземпляр Foreman не будет рабочий. Проверьте установку компонентов и повторите. | Если показывается надпись «Ошибка подготовки», то экземпляр Foreman не будет рабочий. Проверьте установку компонентов и повторите. |
Текущая версия от 19:46, 8 августа 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