Puppet для управления и автоматизации Linux часть 5.

Введение.

В этой части мы будем устанавливать базу данных платформы. База Puppetdb является одной из трёх составляющих ядра платформы в которую входят: мастер-сервер, puppet-agent и puppetdb.

Подготовка puppetdb.

Прежде чем начинать манипуляции с базой платформы, отметим важную особенность хранилища Puppet. Модуль puppetdb является управляющим звеном хранилища выступающий в роли коннектора между мастер сервером Puppet и базой данных построенного на PgSQL.

  • При подключении к PuppetDB, мастер сервер осуществляет:
    • отправку данные каждого узла в PuppetDB
    • посылает запрос PuppetDB для составлении каталогов узлов

Но прежде чем приступить к установке связки Puppetdb+PostgreSQL, попробуем организовать работу сервера без них. В этом случае мы получаем простую в установке систему автоматизации выполнения кода различного характера. Надо отметить, что при этом не будут доступна система контроля в виде графического интерфейса и сбора информации. Проконтролировать выполнение задач можно будет другими штатными средствами которых достаточно в Linux. К вопросу установки базы данных Puppet вернёмся позднее в другой части нашей повести.

Работа Puppet без puppetdb.

В качестве примера работы платформы без использования puppetdb установим, с помощью кода, на рабочею станцию lin-sl пакет notepad. Многим пользователям пришедшим в Linux из Windows эта программа хорошо знакома и они без неё скучают… В репозитории ALT Linux программа звучить как notepadqq.

Подготовка манифеста.

Под манифестом мы понимаем небольшую программу содержащею описание для выполнения последовательности кода. В нашем случае этим кодом является установка утилиты notepad с помощью агента на клиентском ПК. Сам манифест хранится(объявляется) в хранилище мастер сервера1. Агент на клиенте через равные промежутки времени осуществляет соединение(синхронизация) с мастер-сервером, проверяя наличие новых манифестов и выполнение кода указанного в них. Запуск агента можно выполнить и в ручном режиме.

Манифест notepad2.

Создадим в каталоге vim /etc/puppet/code/environments/production/manifests/soft.pp сценарий для установки программы MS Windows notepad.

node 'lin-sl' {
       Package { ensure => installed }
       package { 'notepadqq': }
 }

Если несколько узлов (node)3 — перечислить через запятую. Поместим манифест в каталог показанный в начале.

Выполнение манифеста.

На рабочей станции запускаем команду.

# puppet agent --test --verbose

Контроль выполнения манифеста.

Проконтролировать выполнение кода можно несколькими способами. 1.Запустить в «ручную» агента, как показано выше или подождать выполнение обращения агента к серверу ~30 мин. В любом случае появится сообщение, если успешно, как показано ниже.

# .... Notice: /Stage[main]/Main/Node[lin-sl]/Package[notepadqq]/ensure: created (corrective) Notice: Applied catalog in 12.74 seconds

2.Непосредственно на рабочей станции, проверить лоток «Стандартные».

Программа notepad установлена в папке «Стандартные «.

3. Смотреть журнал мастер-сервера, отчёты о своих действиях агенты отправляет на сервер.

Заключение.

В этой части мы рассмотрели работу Puppet без установки базы данных Puppetdb + PostgreSQL. Этим мы сократили время для перехода к практическому использованию платформы и наглядному показу, как это всё работает. Конечно такая тонкая работа, как сбор статистических данных, например серийных номеров или параметров HDD, ОЗУ… требуют наличие хранилища в виде БД. Но нам же не терпится, а с установкой и настройкой PostgreSQL и puppetdb можно «завязнуть», после чего махнув рукой и послав… бросить эту затею. В том состоянии Puppet, которое было описано выше, многие администраторы найдут полезное для своей организации и для себя, освобождая от рутины своё рабочее время. Мониторинг и сбор сведений можно поручить Zabbix.

Полезные ссылки.

Сноски.

  1. Путь хранилища /etc/puppet/code/environments/production/manifests ↩︎
  2. Созданию манифестов будет посвящена отдельная статья ↩︎
  3. Если указать defoult, выполнять код сможет любая станция где есть агент ↩︎

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Copyright © 2011-2024
Все права защищены.
При перепечатке указать источник: kabtim.ru
Контакты