wiki-js/sysadmin/Linux/Base-znaniy/Foreman.html

29 lines
5.2 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!--
title: Foreman - централизованное управление серверами
description:
published: true
date: 2023-11-15T18:16:01.944Z
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"&nbsp;| tee /etc/apt/sources.list.d/foreman.list
echo "deb http://deb.theforeman.org/ plugins 3.1"&nbsp;| 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-&nbsp;| apt-key add -
apt update &amp;&amp; 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>&nbsp;</p>