Foreman: различия между версиями
Нет описания правки |
Pav (обсуждение | вклад) (Описание решения проблемы доступа к /puppet/v3/environment_classes) |
||
(не показано 11 промежуточных версий 3 участников) | |||
Строка 7: | Строка 7: | ||
=== Подготовка === | === Подготовка === | ||
Перед установкой убедитесь что PostgreSQL версии 11 и выше [https://www.altlinux.org/PostgreSQL#Установка_и_начальный_запуск установлена и инициализирована]. Это важно. | 1. Перед установкой убедитесь что PostgreSQL версии 11 и выше [https://www.altlinux.org/PostgreSQL#Установка_и_начальный_запуск установлена и инициализирована]. Это важно. | ||
{{Attention|Если база данных перед установкой не была установлена и инициализирована, то Foreman установится некорректно. | {{Attention|Если база данных перед установкой не была установлена и инициализирована, то Foreman установится некорректно. | ||
Для корректной установки придется удалить пакет, инициализировать базу данных и установить заново!}} | Для корректной установки придется удалить пакет, инициализировать базу данных и установить заново!}} | ||
2. Проверьте установлены ли нижеследующие пакет, более старые версии пакетов для этих gem-ов приведут к неработоспособности приложения. | |||
# apt-get install gem-sassc gem-coffee-script-source-compat gem-secure-headers gem-validates-lengths-from-database gem-gettext-i18n-rails gem-record-tag-helper gem-webpack-rails gem-apipie-rails gem-x-editable-rails gem-rack gem-rails | |||
=== Установка === | === Установка === | ||
Строка 17: | Строка 21: | ||
# apt-get install foreman | # apt-get install 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 не будет рабочий. Проверьте установку компонентов и повторите. | |||
=== Настройка === | === Настройка === | ||
Строка 30: | Строка 51: | ||
Отныне средство будет доступно по адресу http://localhost:2345 из обозревателя. | Отныне средство будет доступно по адресу http://localhost:2345 из обозревателя. | ||
Пароль и логин администратора создаются автоматически, и | Пароль и логин администратора создаются автоматически, и возвращаются скриптом настойки (см. лог выше), однако их можно получить, заглянув в лог: | ||
# grep "Login credentials" /var/log/foreman/ -r | # grep "Login credentials" /var/log/foreman/ -r | ||
/var/log/foreman/db_seed.log:Login credentials: admin / <your_password> | /var/log/foreman/db_seed.log:Login credentials: admin / <your_password> | ||
При интеграции с '''puppet''' иногда возникает ошибка в логе пакета ''smart-proxy'' {{path|/var/log/smart-proxy/proxy.log}} | |||
<source lang="bash"> | |||
2020-07-15T14:54:24 [E] Error while retrieving puppet classes for 'production' environment | |||
2020-07-15T14:54:24 [W] Error details for Error while retrieving puppet classes for 'production' environment: <Proxy::Error::HttpError>: 403 Forbidden request: /puppet/v3/environment_classes (method :get). Please see the server logs for details. | |||
</source> | |||
и в логе ''puppetserver'' {{path| /var/log/puppetserver/puppetserver.log}} | |||
<source lang="bash"> | |||
2020-07-15T14:54:24.840+03:00 ERROR [qtp2111311669-39] [p.t.a.rules] Forbidden request: your.puppet.server(fe80:0:0:0:9427:66ff:feb0:9a37%2) access to /puppet/v3/environment_classes (method :get) (authenticated: true) denied by rule 'puppetlabs deny all'. | |||
</source> | |||
Для решения добавьте в файл {{path|/etc/puppetserver/conf.d/auth.conf}} следующий код: | |||
<source lang="bash"> | |||
{ | |||
match-request: { | |||
path: "/puppet/v3/environment_classes" | |||
type: path | |||
method: get | |||
} | |||
allow: "*" | |||
sort-order: 500 | |||
name: "puppetlabs environment classes" | |||
}, | |||
</source> | |||
Перезапустите puppetserver и smart-proxy: | |||
# systemctl restart puppetserver | |||
# systemctl restart smart-proxy | |||
=== Переустановка или обновление === | === Переустановка или обновление === | ||
Строка 42: | Строка 88: | ||
Чтобы переустановить или обновить средство нужно выполнить 2 команды подряд, и затем снова выполнить настройку из соответствующего подраздела: | Чтобы переустановить или обновить средство нужно выполнить 2 команды подряд, и затем снова выполнить настройку из соответствующего подраздела: | ||
# | # railsctl cleanup foreman | ||
# | # railsctl setup foreman | ||
=== Полное удаление === | |||
# railsctl mrproper foreman | |||
[[Category: foreman]] | [[Category: foreman]] | ||
[[Категория:Управление автоматизацией]] | [[Категория:Управление автоматизацией]] | ||
{{Category navigation|title=Управление автоматизацией|category=Управление автоматизацией|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=Управление автоматизацией|category=Управление автоматизацией|sortkey={{SUBPAGENAME}}}} |
Версия от 11:32, 16 июля 2020
Foreman
Foreman это средство автоматизации повторяющихся задач, развёрстывания приложений, управления циклом жизни ваших серверов по отдельности или в облаке.
Подготовка
1. Перед установкой убедитесь что PostgreSQL версии 11 и выше установлена и инициализирована. Это важно.
2. Проверьте установлены ли нижеследующие пакет, более старые версии пакетов для этих gem-ов приведут к неработоспособности приложения.
# apt-get install gem-sassc gem-coffee-script-source-compat gem-secure-headers gem-validates-lengths-from-database gem-gettext-i18n-rails gem-record-tag-helper gem-webpack-rails gem-apipie-rails gem-x-editable-rails gem-rack gem-rails
Установка
Чтобы установить средство, нужно от администратора поставить пакет foreman, а всё требуемое вытянется по зависимостям.
# apt-get install 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 не будет рабочий. Проверьте установку компонентов и повторите.
Настройка
Настройте системную службу foreman-а на автозапуск (по желанию):
# systemctl enable foreman
а дальше запустите её:
# systemctl start foreman
Отныне средство будет доступно по адресу http://localhost:2345 из обозревателя.
Пароль и логин администратора создаются автоматически, и возвращаются скриптом настойки (см. лог выше), однако их можно получить, заглянув в лог:
# grep "Login credentials" /var/log/foreman/ -r /var/log/foreman/db_seed.log:Login credentials: admin / <your_password>
При интеграции с puppet иногда возникает ошибка в логе пакета smart-proxy /var/log/smart-proxy/proxy.log
2020-07-15T14:54:24 [E] Error while retrieving puppet classes for 'production' environment
2020-07-15T14:54:24 [W] Error details for Error while retrieving puppet classes for 'production' environment: <Proxy::Error::HttpError>: 403 Forbidden request: /puppet/v3/environment_classes (method :get). Please see the server logs for details.
и в логе puppetserver /var/log/puppetserver/puppetserver.log
2020-07-15T14:54:24.840+03:00 ERROR [qtp2111311669-39] [p.t.a.rules] Forbidden request: your.puppet.server(fe80:0:0:0:9427:66ff:feb0:9a37%2) access to /puppet/v3/environment_classes (method :get) (authenticated: true) denied by rule 'puppetlabs deny all'.
Для решения добавьте в файл /etc/puppetserver/conf.d/auth.conf следующий код:
{
match-request: {
path: "/puppet/v3/environment_classes"
type: path
method: get
}
allow: "*"
sort-order: 500
name: "puppetlabs environment classes"
},
Перезапустите puppetserver и smart-proxy:
# systemctl restart puppetserver # systemctl restart smart-proxy
Переустановка или обновление
Чтобы переустановить или обновить средство нужно выполнить 2 команды подряд, и затем снова выполнить настройку из соответствующего подраздела:
# railsctl cleanup foreman # railsctl setup foreman
Полное удаление
# railsctl mrproper foreman