Централизованное Управление Конфигурацией: Puppet + Foreman. Часть Ii

Это второй Часть из серии статей о сочетании «Марионетка + Форман» будет рассмотрено следующее: * Создание групп хостов * Добавление хоста в группу * Применение манифестов к группе хостов.

* Сертификаты автоподписи * Автоматическое распределение хостов по группам Для создания группы хостов заходим в Foreman и в меню выбираем «Настройки» — «Группы узлов» — «Новая группа узлов», откроется страница с настройками новой группы.

Здесь можно выбрать родителя группы (то есть можно делать вложения групп), имя (в нашем случае Бобровка), окружение, центр сертификации и мастер-сервер, выбрать наш Puppet-сервер.



Централизованное управление конфигурацией: Puppet + Foreman. Часть II

Если мы хотим сразу добавить манифесты, которые будут применяться к группе, переходим на вкладку «Классы Puppet» — здесь все аналогично применению манифеста к одному клиенту, только манифест будет применен ко всем хостам в группе.

Подтверждаем изменения.



Централизованное управление конфигурацией: Puppet + Foreman. Часть II

Теперь если мы зайдём в «Настройки» — «Группы узлов», то увидим список наших групп.



Централизованное управление конфигурацией: Puppet + Foreman. Часть II

Для того, чтобы добавить существующий хост в определенную группу, заходим в «Узлы» — «Все узлы», кликаем по названию нужного нам узла (открывается подробная информация об узле) и нажимаем кнопку «Изменить» и в Поле «Группа» выбираем нужную нам группу.

Подтверждаем изменения.



Централизованное управление конфигурацией: Puppet + Foreman. Часть II

После того как мы добавили в группу нужные нам хосты, мы можем добавить для них манифесты (если вы этого не сделали при создании группы).

Чтобы добавить манифест в существующую группу, заходим в «Настройки» — «Группы узлов» — кликаем по названию нужной нам группы и повторяем процедуру, описанную 3 абзацами назад. Итак, у нас есть рабочий сервер с комбинацией Puppet + Foreman, но если мы хотим добавить в Puppet новый хост, нам приходится каждый раз подписывать сертификаты (меня это смущает) в веб-интерфейсе или в консоли.

Чтобы гарантировать автоматическую подпись сертификатов, вы можете использовать возможность автоматической подписи сертификатов на основе имени клиента.

Для этого заходим в меню «Инфраструктура» — «Смарт-прокси», нажимаем «Сертификаты» и в правой верхней части жмем «автоподпись записей» — создаем новую запись.

В поле, где написано имя, напишите * и сохраните.



Централизованное управление конфигурацией: Puppet + Foreman. Часть II

В результате у нас будут подписаны все без исключения клиентские сертификаты, что не очень хорошо (но для начала сойдет).

Чтобы подписывать не все сертификаты, а например только сертификаты от веб-серверов, вам нужно изменить запись на web-* (это будет работать, если все ваши веб-серверы называются так: www-1.домен.

имя, www-n .

доменное имя).

Для автоматического распределения вновь созданных хостов по группам можно использовать плагин forman_default_hostgroup. Этот плагин позволяет вам классифицировать хосты по группам на основе фактов.

Для установки плагина необходимо выполнить команду apt-get install Ruby-Foreman-default-hostgroup Если плагин установлен, он будет отображаться в меню «Администратор» — «О программе» во вкладке «Модули» (возможно, придется перезапустить Foreman)

Централизованное управление конфигурацией: Puppet + Foreman. Часть II

После установки вам необходимо отредактировать файл в каталоге /usr/share/foreman/config/settings.plugins.d/default_hostgroup.yaml. default_hostgroup.yaml - :default_hostgroup: :факты_карта: «Бобровка»: "ipaddress": "10.10.*" «Лосовка»: "ipaddress": "10.110.0.*" «Медведка»: "ipaddress": "10.210.0.*" "По умолчанию": "имя хоста": ".

*" Если вы используете мой конфиг из плагина, то вас рассортируют по группам по IP-адресу клиента.

В данном примере, если у клиента IP 10.10.55.12, он будет включен в группу «Бобровка»; если у него адрес 10.210.138.7, он будет включен в группу «Медведка»; если IP-адрес клиента не попадает ни под одно из условий, он попадает в группу «По умолчанию».

Плагин читает конфиг сверху вниз, поэтому группа «По умолчанию» находится в самом низу, так как под его критерии попадают абсолютно все IP-адреса.

На этом завершаю вторую часть моей публикации.

Результат нашей работы — работающий Puppet+Foreman с возможностью автоматической подписи сертификатов и распределения хостов по группам на основе фактов.

Использованные ресурсы: docs.puppetlabs.com/puppet/latest/reference/config_file_autosign.html github.com/GregSutcliffe/foreman_default_hostgroup Теги: #*nix #Системное администрирование #Конфигурация Linux #puppet #linux-сервер #управление конфигурацией #forman

Вместе с данным постом часто просматривают: