Рубрика без рубрики содержит популярные статьи посвящённые ALT Linux, предназначена для опытных пользователей и новичков использующих в своей работе Linux.
Рассмотрев в предыдущей части вопрос развёртывания сервера Puppet, переходим к установке важной части работы платформы — клиенте. Требования к клиенту не особенно строгие, это небольшая программа, которая не представляет особых трудностей в установке. Вопрос в другом — необходимости установки доверительных отношений между клиентом и сервером с помощью SSL сертификата.
Продолжая рассказ о Puppet, начала смотри здесь, переходим к установке серверной части платформы. Сервер программы включает в себя несколько пакетов, выполняющих управление и поддержку клиентов подключаемых к нему. Требования к основному мастер-серверу, зависит от размера организации и количества узлов подключаемых к нему.
Подготовка.
Стенд
Cервер ALT Linux , имя lin-pup; ip-10.0.2.33
CPU Intel Core 5
HDD >100Gb
ОЗУ > 8Gb
ALT Simply Linux, имя lin-sl; ip-10.0.2.32
Объем узлов
Ядра
ОЗУ
Размер кэша
Средний офис
2
1 GB
n/a (not available)
1,000
2-4
4 GB
512m
Минимальные требования к серверу.
Сервер для установки платформы должен иметь свежее обновление, настроенный DNS и включён в доменную структуру предприятия. Установка пакетов производится из репозитория ALT-Linux или его зеркала. Процесс установки происходит из консоли, что является нормой для Linux серверов или с помощью графического модуля Synaptic.
Настройка DNS сервера.
Возможность использования системы доменных имен для Pupplet является одним из важных факторов успешного использования платформы. Далее приводится пример настройки файла /etc/hosts стендового сервера.
device.conf — файл настроек сетевых устройств под управлением сервера
Заключение.
В этой части приведены требования к оборудование для установки мастер-сервера Puppet. Развёртывание платформы выполняется после того, как будет установлен базовый сервер ALT-Linux, настроен DNS и выполнены все требования для сервера, как описывалось выше.
С ростом больших объёмов цифровизации на предприятиях и организаций, у администраторов возникает трудности при выполнении рутинных задач управления и обслуживания большого парка рабочих станций и серверов. Сейчас на рынке программного обеспечения присутствует не так много проверенных платформ, которые помогают автоматизировать процесс управления парком цифровых устройств. Предлагаемая для решения задач автоматизации платформа, позволит облегчить работу администраторов.
Что такое Puppet.
Прежде чем приступит к практическим действиям, см. следующею часть, определимся с философией платформы. Программа написана на языке Ruby и является кросс платформенным клиент-серверным приложением. Инструмент выпускается под двумя редакциями: платной — Puppet Enterprise, и бесплатной — Open source Puppet. К базовым пакетам выбранной редакции, в последствии, можно добавлять дополнения и расширения:
Continuous Delivery for PE
Bolt
Puppet Comply
Puppet Development Ki
Основная идея вложенная в платформу — желание установить систему в то состояние, которое вы считаете нужным для управления.
Это достигается через специальный Domain-Specific Language (DSL) код. Этот сценарий декларация, автоматизирует процесс перевода систем в определённое состояние, проводит мониторинг установленных режимов. Достигается это с помощью главного сервера и агентов, развёрнутых на устройствах, преобразующих код в команды для выполнения в указанных системах, как показано ниже.
Диаграмма работы архитектуры сервер-агент Puppet.
Инструменты декларативной настройки, позволяют определить согласованность, автоматизацию, культуру и способ работы. В отличие от Zabbix, выполняющий сбор информации, Puppit, кроме инвентаризации, способен переводить систему (применять) установку программ и обновлений, получая отчёт о выполнении этих действий.
Архитектура Pupplet.
Перечисленные ниже концепции и практики являются ключом к успешному использованию Puppet.
Puppet построен, как инфраструктура кода DevOps, использующий практику общения с клиентской периферией, подключённых к нему устройств, как с кодом.
DevOps — development & operations — методология автоматизации тех. процессов сборки настройки и развёртывания программного обеспечения.
Идемпотентность (не к ночи сказано — термин Pupplet ), ключевая особенность Puppet — возможность многократного применения кода для обеспечения желаемого состояния системы.
Применяя гибкую методологию — работу с инкрементными единицами и повторное использование кода, вы сможете постепенно наращивать и масштабировать цифровое пространство организации.
Возможность применять Git — отраслевой стандарт контроля версий, его использование поможет вашей команде воспользоваться преимуществами DevOps.
Структура Pupplet.
Структурная Pupplet состоит из нескольких базовых пакетов:
puppetserver — сервер
puppetdb — база данных
puppet-agent — агент
Facter — инструмент инвентаризации узла
Hiera — поиск ключевых данных узла
Диаграмма архитектуры платформы представлена ниже
Диаграмма взаимодействия служб Puppet .
Все данные, созданные Puppet, хранятся в базе данных PuppetDB, что позволяет работать быстрее и предоставлять API другим приложениям для доступа к собранным данным.
При большие объёме Б.Д разработан коннектор миграции на PostgreSQL.
Соединение происходит по защищённому SSL протоколу, для этого при развёртывании платформы создаются самоподписанные сертификаты для сервера и клиента.
Код создаваемый програмой для взаимодействия с агентами называется манифестом (manifest). Манифест — файл, содержащий сценарий написанный на языке Puppet. Файл имеет расширение .pp. и включает:
ресурсы и классы
переменные
функции
узлы
Большинство манифестов содержатся в модулях. Каждый манифест в модуле определяет один класс, функцию или определенный тип. На стороне сервера хранится основной (main manifest) манифест среды. В манифесте определяются узлы и уникальные каталоги.
Модуль — включает классы, типы ресурсов, файлы, функции и шаблоны, нацеленных на выполнение определенной задачи. Например, с помощью модуля можно распространить установку демона SSH на клиентах. Большой выбор готовых модулей доступен в библиотеке Puppet Forge. Концепция инфраструктуры позволяет администратору писать свои собственные модульные и приемочные тесты.
Заключение.
Мы познакомились с базовыми понятиями и определениями цифровой платформы. После того, как у пользователей сформируется представление о продукте можно переходить к следующей части нашей повести — установка серверной и клиентской программной части .