Puppet

Классы

С помощью модуля управления конфигурациями Puppet производится назначение предустановленных классов для узлов, реализуемых через классы Puppet.

Для назначения классов разработанных модулей с использованием веб-интерфейса РОСА Центр управления необходимо в меню "Настройки ® Puppet ENC → Классы" нажать кнопку Импортировать окружения из …. В результате отобразится перечень классов (рисунок 109).

Рисунок 109 — Импортированные классы Puppet

Для определения файла с описанием действий, которые нужно выполнить на узле или группе узлов, и его определения для дальнейшего выполнения необходимо воспользоваться меню "Узлы → Все Узлы" или "Настройка → Группы узлов" в режиме редактирования узла или группы соответственно и на вкладке "Puppet ENC" выбрать классы во "Включенные классы" из перечня "Доступных классов", используя пиктограммы (плюс) и (минус) (рисунок 110).

Рисунок 110 — Выбор классов Puppet

Окружения

Для просмотра и редактирования окружений Puppet следует перейти в меню "Настройки → Puppet ENC → Окружения". Для создания нового окружения нажимают кнопку Создать окружение Puppet. Далее в открывшейся рабочей области вводят имя окружения, выбирают из соответствующих вкладок местоположение и организацию и нажимают кнопку Применить для сохранения. Чтобы удалить окружение, в строке списка выбирают действие Удалить и в модальном окне подтверждения действия нажимают кнопку Подтвердить. В этой же рабочей области можно перейти сразу к работе с классами Puppet, описанной в п. Применение классов настоящего документа.

Применение классов

Для определения классов Puppet требуется перейти в меню "Настройки → Puppet ENC → Классы" и выбором класса из списка просматривать и редактировать его с использованием параметров класса (п. Параметры класса). В этой же рабочей области можно привязать класс к группам узлов, используя пиктограммы (плюс) и (минус). Для сохранения изменений нажимают кнопку Применить.

Перед применением классов Puppet следует убедиться, что разрешена их активация в настройках группы узлов. Глобальный статус класса Puppet можно отследить на вкладке "Параметр класса" (п. Параметры класса). Необходимо включить флажок "Переопределить" в разделе "Поведение по умолчанию". Этот параметр отвечает за доступ к настройкам (включению) класса Puppet в рамках группы узлов.

Проверить включение класса Puppet можно в свойствах выбранной группы узлов на вкладке "Puppet ENC" (п. Параметры класса). В разделе "Параметры классов Puppet" должно быть указано значение True для выбранного класса Puppet.

Группы конфигураций

В меню "Настройка → Puppet ENC → Группы конфигураций" предоставляется возможность одноэтапного метода привязки нескольких классов Puppet к узлу или к группе узлов. Для этого требуется нажать кнопку Создать группу конфигураций, ввести имя группы, выбрать классы во "Включенные классы" из перечня "Доступных классов", используя пиктограммы (плюс) и (минус). Далее нажимают кнопку Применить для сохранения изменений (рисунок 111).

Рисунок 111 — Редактирование группы конфигураций

Для привязки группы конфигураций в меню "Узлы → Все Узлы" или "Настройка → Группы узлов" в режиме редактирования узла или группы соответственно и на вкладке "Puppet ENC" выбрать группы конфигураций во "Включенные группы конфигураций" из перечня "Доступных групп конфигураций", используя пиктограммы (плюс) и (минус).

Параметры класса

Параметры класса, привязанные к классам Puppet (п. Применение классов), переопределяются в меню "Настройки → Puppet ENC → Параметры класса".

В блоке данных "Детали параметра" вводят требуемые данные о параметрах:

  • в поле "Описание" – краткое описание параметра;

В блоке данных "Поведение по умолчанию" – признак переопределения по умолчанию, тип, значение по умолчанию, признак исключения из классификации, признак скрытой переменной;

В блоке "Дополнительный валидатор входных данных":

  • признак обязательности, тип и правило валидатора;
  • при выборе признака переопределения по умолчанию предоставляется возможность настроить порядок разрешения значений в блоке данных "Приоритет порядка атрибутов", а также указать конкретные сопоставители в блоке с одноименным названием.

Для сохранения переменной нажимают кнопку Применить.

Локальные репозитории

Для обеспечения оперативной установки и обновления ПО групп узлов создаются локальные репозитории на базе интернет-репозиториев посредством следующих классов Puppet:

  • rcc_srv_repo – для конфигурации сервера локального репозитория;
  • rcc_srv_repo_alt_10 – для ОС Альт Рабочая станция 10;
  • rcc_srv_repo_astra_17 – для ОС Astra Linux SE 1.7;
  • rcc_srv_repo_redos_73 – для ОС РЕД ОС 7.3;
  • rcc_srv_repo_rosa_2021_1 – для ОС РОСА версии 2021.1.

Для привязки классов при создании или редактировании групп узлов (п. Создание группы узлов) на вкладке "Классификатор узлов Puppet" включают класс rcc_srv_repo и один из классов для ОС из списка "Доступные классы" во "Включенные классы" и нажимают кнопку Применить.

Чтобы задать параметры классов для работы с репозиториями, нужно:

  • перейти в меню "Настройки → Puppet ENC → Классы";
  • в рабочей области выбрать имя класса;
  • на вкладке "Параметр класса" выбрать для редактирования параметр по маске с постфиксом;
  • внести изменения в раздел "Поведение по умолчанию":
    • *_enable – для включения класса установить флажок в поле "Переопределить", задать логическое значение "true" в поле "Значение по умолчанию";
    • *_cron_d – для задания периода синхронизации в днях установить флажок в поле "Изменить", задать число дней в поле "Значение по умолчанию" в виде строки;
    • *_cron_h – для задания периода синхронизации в часах установить флажок в поле "Изменить", задать число часов в поле "Значение по умолчанию" в виде строки;
    • *_cron_m – для задания периода синхронизации в минутах установить флажок в поле "Изменить", задать число дней в поле "Значение по умолчанию" в виде строки.
    • Для сохранения следует нажать кнопку Применить.

Для подключения узлов к локальным репозиториям и работы с ними используются следующие классы Puppet:

  • rcc_client_repo_alt_10 – для ОС Альт Рабочая станция 10;
  • rcc_ client_repo_astra_17 – для ОС Astra Linux SE 1.7;
  • rcc_ client_repo_redos_73 – для ОС РЕД ОС 7.3;
  • rcc_ client_repo_rosa_2021_1 – для ОС РОСА версии 2021.1.

Для включения классов необходимо:

  • перейти в меню "Настройки → Puppet ENC → Классы";
  • в рабочей области выбрать имя класса;
  • на вкладке "Параметр класса" выбрать для редактирования параметр с постфиксами *_enable или *_url;
  • внести изменения в раздел "Поведение по умолчанию" соответственно:
    • *_enable – для включения класса установить флажок в поле "Изменить", задать логическое значение "true" в поле "Значение по умолчанию";
    • *_url – для задания адреса локального репозитория установить флажок в поле "Изменить", задать, например, строку "http://repo.rosa.int/alt" в поле "Значение по умолчанию".

Для сохранения следует нажать кнопку Применить.

Управление пакетами

Для управления установкой, обновлением и удалением отдельных сторонних пакетов в Комплексе используется класс rcc_package_manager.

В этом классе применяются три параметра:

  • pkgs_to_install - массив пакетов для установки, например "htop", "mc", "nmap";
  • pkgs_to_remove - массив пакетов для удаления, например "jag", "curl";
  • pkgs_to_update - массив пакетов для обновления, например "openssl", "sshfs".

Массивы могут состоять как из одного, так и из множества элементов. Также массив может быть пустым, если нет необходимости в каких-либо из трех действий, – в этом случае заполняется как [""].

На основе элементов массивов при следующем запуске агента Комплекса формируются соответствующие задания по установке/обновлению/удалению пакетов. При этом, в зависимости от типа используемой ОС, автоматически применяется соответствующий пакетный менеджер (dnf/apt/aptrpm).

Следует обратить внимание, что массивы должны представлять собой непересекающиеся множества. Иначе, интерпретатор декларативного языка описания состояний не сможет определить в каком состоянии должен находиться пакет (например, одновременно в разных массивах пакет должен быть в последней версии, но при этом должен отсутствовать).

Глобальное переопределение параметров класса rcc_package_manager по умолчанию проводится в меню "Настройки → Puppet ENC → Параметры класса" (рисунок 112).

Рисунок 112 — Переопределение параметров класса rcc_package_manager

Переопределение параметров для группы узлов или отдельного узла осуществляется в соответствующих настройках групп или узлов (рисунок 113).

Рисунок 113 — Параметры класса для группы или узла