29 lines
5.2 KiB
HTML
29 lines
5.2 KiB
HTML
<!--
|
||
title: Foreman - централизованное управление серверами
|
||
description:
|
||
published: true
|
||
date: 2023-11-15T18:15:58.065Z
|
||
tags:
|
||
editor: ckeditor
|
||
dateCreated: 2023-11-15T18:15:38.027Z
|
||
-->
|
||
|
||
<p>Для централизованного управления серверами и автоматизации задач существует старый и известный open source проект Foreman. Думаю, многие о нём слышали или знают. Он существует более 10-ти лет. В сети много информации по нему. Есть как текстовые руководства, так и курсы на Udemy за весьма небольшие деньги. То есть освоить этот продукт, если есть необходимость, не трудно.</p>
|
||
<p>Я развернул его у себя на Debian 11 и потестировал. Установка простая, так как есть готовый репозиторий и автоматический установщик. Единственное, нужно убедиться, что у вас hostname имеет формат FQDN, так как в процессе установки будет выпущен самоподписанный tls сертификат, который хочет полное доменное имя, типа debian11.local, если запускаете в тестовой среде.</p>
|
||
<pre><code class="language-plaintext">wget https://apt.puppet.com/puppet6-release-buster.deb
|
||
dpkg -i /tmp/puppet6-release-buster.deb
|
||
echo "deb http://deb.theforeman.org/ buster 3.1" | tee /etc/apt/sources.list.d/foreman.list
|
||
echo "deb http://deb.theforeman.org/ plugins 3.1" | tee -a /etc/apt/sources.list.d/foreman.list
|
||
apt-get -y install ca-certificates gpg
|
||
wget -q https://deb.theforeman.org/pubkey.gpg -O- | apt-key add -
|
||
apt update && apt install foreman-installer
|
||
foreman-installer</code></pre>
|
||
<p>Это всё. Несмотря на то, что в репе указан buster, на bullseye нормально установился. Можно идти в веб интерфейс и настраивать. Адрес сервера и учётка будут отображены в консоли.</p>
|
||
<p>Foreman по дефолту работает на основе puppet, но может использовать и ansible. Далее вам нужно либо puppet-agent, либо ansible поставить на клиентские хосты, чтобы добавить их в Foreman и управлять. В сети инструкций много, проблем с настройкой возникнуть не должно. Есть подробное и свежее руководство даже под AstraLinux (<a href="https://wiki.astralinux.ru/pages/viewpage.action?pageId=57444668">https://wiki.astralinux.ru/pages/viewpage.action?pageId=57444668</a>).</p>
|
||
<p>После этого пишите манифесты на выполнение тех или иных действий и применяете их к хостам или группам хостов. С помощью Foreman можно как конфигурировать существующие хосты, так и разворачивать новые, в том числе в автоматическом режиме. Посмотреть, как это выглядит в реальности можно в большой подборке скринкастов (<a href="https://theforeman.org/media.html#screencasts">https://theforeman.org/media.html#screencasts</a>).</p>
|
||
<p>Чтобы быстро развернуть и попробовать функционал по управлению, посмотрите эту статью (<a href="http://ittraveler.org/ustanovka-i-nastrojka-foreman-puppet/">http://ittraveler.org/ustanovka-i-nastrojka-foreman-puppet/</a>). Тут прям конкретные примеры с манифестами и модулями puppet для выполнения различных действий на хостах. Я попробовал два примера. Один с обновлением серверов времени. Второй с созданием файлов. В целом понял, как всё это примерно работает.</p>
|
||
<p>Раньше puppet вообще ни разу не видел. Сейчас посмотрел, как у него манифесты и модули выглядят. Показалось проще и нагляднее, чем в ansible. Прям даже попробовать захотелось. Хотя очевидно, что смысла большого нет. Ansible более распространён, а изучать и использовать обе системы незачем.</p>
|
||
<p>Сайт - <a href="https://theforeman.org/">https://theforeman.org/</a><br>Исходники - <a href="https://github.com/theforeman/foreman">https://github.com/theforeman/foreman</a></p>
|
||
<figure class="image"><img src="/attachments/base/3.png"></figure>
|
||
<p><br> </p>
|