diff --git a/sysadmin/Linux/Base-znaniy/Foreman.html b/sysadmin/Linux/Base-znaniy/Foreman.html new file mode 100644 index 0000000..5b5f997 --- /dev/null +++ b/sysadmin/Linux/Base-znaniy/Foreman.html @@ -0,0 +1,35 @@ + + +

Для централизованного управления серверами и автоматизации задач существует старый и известный open source проект Foreman. Думаю, многие о нём слышали или знают. Он существует более 10-ти лет. В сети много информации по нему. Есть как текстовые руководства, так и курсы на Udemy за весьма небольшие деньги. То есть освоить этот продукт, если есть необходимость, не трудно.

+

Я развернул его у себя на Debian 11 и потестировал. Установка простая, так как есть готовый репозиторий и автоматический установщик. Единственное, нужно убедиться, что у вас hostname имеет формат FQDN, так как в процессе установки будет выпущен самоподписанный tls сертификат, который хочет полное доменное имя, типа debian11.local, если запускаете в тестовой среде.

+
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
+

Это всё. Несмотря на то, что в репе указан buster, на bullseye нормально установился. Можно идти в веб интерфейс и настраивать. Адрес сервера и учётка будут отображены в консоли.

+

Foreman по дефолту работает на основе puppet, но может использовать и ansible. Далее вам нужно либо puppet-agent, либо ansible поставить на клиентские хосты, чтобы добавить их в Foreman и управлять. В сети инструкций много, проблем с настройкой возникнуть не должно. Есть подробное и свежее руководство даже под AstraLinux (https://wiki.astralinux.ru/pages/viewpage.action?pageId=57444668).

+

После этого пишите манифесты на выполнение тех или иных действий и применяете их к хостам или группам хостов. С помощью Foreman можно как конфигурировать существующие хосты, так и разворачивать новые, в том числе в автоматическом режиме. Посмотреть, как это выглядит в реальности можно в большой подборке скринкастов (https://theforeman.org/media.html#screencasts).

+

Чтобы быстро развернуть и попробовать функционал по управлению, посмотрите эту статью (http://ittraveler.org/ustanovka-i-nastrojka-foreman-puppet/). Тут прям конкретные примеры с манифестами и модулями puppet для выполнения различных действий на хостах. Я попробовал два примера. Один с обновлением серверов времени. Второй с созданием файлов. В целом понял, как всё это примерно работает.

+

Раньше puppet вообще ни разу не видел. Сейчас посмотрел, как у него манифесты и модули выглядят. Показалось проще и нагляднее, чем в ansible. Прям даже попробовать захотелось. Хотя очевидно, что смысла большого нет. Ansible более распространён, а изучать и использовать обе системы незачем.

+

Сайт - https://theforeman.org/
Исходники - https://github.com/theforeman/foreman

+
+