Foreman: различия между версиями

Материал из ALT Linux Wiki
(не показано 26 промежуточных версий 5 участников)
Строка 4: Строка 4:


Foreman это средство автоматизации повторяющихся задач, развёрстывания приложений, управления циклом жизни ваших серверов по отдельности или в облаке.
Foreman это средство автоматизации повторяющихся задач, развёрстывания приложений, управления циклом жизни ваших серверов по отдельности или в облаке.
Пример реализации - [[Связка Puppet и Foreman]].
=== Подготовка ===
Перед установкой убедитесь что PostgreSQL версии 11 и выше [https://www.altlinux.org/PostgreSQL#Установка_и_начальный_запуск установлена и инициализирована]. Это важно.
{{Attention|Если база данных перед установкой не была установлена и инициализирована, то Foreman установится некорректно.
Для корректной установки придется удалить пакет, инициализировать базу данных и установить заново!}}


=== Установка ===
=== Установка ===


Чтобы установить средство, нужно от администратора поставить пакет foreman, а всё требуемое вытянется по зависимостям.
Чтобы установить средство, нужно от администратора поставить пакеты 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 не будет рабочий. Проверьте установку компонентов и повторите.
 
=== Запуск сервиса ===


# apt-get install foreman
Чтобы при первом запуске '''foreman''' корректно обработал стартовый скрипт(используя значения по умолчанию), переименуйте файл конфигурации


=== Настройка ===
mv /etc/foreman/settings.yml /etc/foreman/settings.yml.example


Настройте системную службу foreman-а на автозапуск (по желанию):
Настройте системную службу foreman-а на автозапуск (по желанию):
Строка 17: Строка 48:
  # systemctl enable foreman
  # systemctl enable foreman


а дальше запустите её:
а дальше запустите её (в случае, если сервис работает, то он будет перезапущен):


  # systemctl start foreman
  # systemctl restart foreman


Отныне средство будет доступно по адресу http://localhost:2345 из обозревателя.
Отныне средство будет доступно по адресу 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
 
После внесения изменений и перезапуска сервиса


  # grep "Login credentials" /usr/lib64/foreman/log/ -r
  # systemctl restart foreman
log/db_seed.log:Login credentials: admin / <your_password>


Веб-интерфейс Форемана будет доступен http://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
После изменения конфигурации Puppet потребуется перезапуск служб puppetserver и puppet
# systemctl restart puppetserver
# systemctl restart puppet
В результате запуска сервиса puppet, текущий сервер будет добавлен в список управляемых
=== Переустановка или обновление ===
=== Переустановка или обновление ===


Чтобы переустановить или обновить средство нужно выполнить 2 команды подряд, и затем снова выполнить настройку из соответствующего подраздела:
Чтобы переустановить или обновить средство нужно выполнить 2 команды подряд, и затем снова выполнить настройку из соответствующего подраздела:


  # apt-get remove foreman
  # railsctl cleanup foreman
  # apt-get install foreman
  # railsctl setup foreman
 
=== Полное удаление ===
 
# railsctl mrproper foreman


[[Category: foreman]]
[[Category: foreman]]
[[Категория:Управление автоматизацией]]
[[Категория:Управление автоматизацией]][[Категория:Управление конфигурациями]]
{{Category navigation|title=Управление автоматизацией|category=Управление автоматизацией|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Управление автоматизацией|category=Управление автоматизацией|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Управление конфигурациями|category=Управление конфигурациями|sortkey={{SUBPAGENAME}}}}

Версия от 20:29, 8 апреля 2021

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


Foreman

Foreman это средство автоматизации повторяющихся задач, развёрстывания приложений, управления циклом жизни ваших серверов по отдельности или в облаке.

Пример реализации - Связка Puppet и Foreman.

Подготовка

Перед установкой убедитесь что PostgreSQL версии 11 и выше установлена и инициализирована. Это важно.

Внимание! Если база данных перед установкой не была установлена и инициализирована, то Foreman установится некорректно. Для корректной установки придется удалить пакет, инициализировать базу данных и установить заново!


Установка

Чтобы установить средство, нужно от администратора поставить пакеты 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

Настройте системную службу 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/theforeman-foreman/files/external_node_v2.rb
   node_terminus = exec

После изменения конфигурации Puppet потребуется перезапуск служб puppetserver и puppet

# systemctl restart puppetserver
# systemctl restart puppet

В результате запуска сервиса puppet, текущий сервер будет добавлен в список управляемых

Переустановка или обновление

Чтобы переустановить или обновить средство нужно выполнить 2 команды подряд, и затем снова выполнить настройку из соответствующего подраздела:

# railsctl cleanup foreman
# railsctl setup foreman

Полное удаление

# railsctl mrproper foreman