Миньоны
Миньон — это агентское приложение, которое устанавливается на управляемых узлах инфраструктуры SaltStack и обеспечивает взаимодействие с мастером SaltStack.
Миньон обеспечивает выполнение команд, подаваемых мастером, сбор информации с управляемого узла и управление его программной конфигурацией.
Мньоном также называется сам управляемый узел с функционирующим агентом — службой salt-minion
.
Версии миньонов для операционных систем Windows® и GNU/Linux имеют схожие функциональные возможности, но отличаются наборами методов модулей выполнения и модулей состояния.
При первом запуске миньон устанавливает соединение с мастером, адрес которого указан в конфигурационном файле миньона.
Миньон инициирует процедуру рукопожатия и отправляет свой публичный ключ мастеру.
После установки первичного соединения публичный ключ миньона сохраняется на мастере.
Затем мастер передает миньону свой публичный ключ вместе с ротируемым симметричным ключом AES, используемым для шифрования и дешифрования сообщений, передаваемых мастером.
Ключ AES передается зашифрованным публичным ключом, полученным ранее от миньона.
Весь дальнейший обмен между мастером и миньоном шифруется ключами AES.
Ротируемый ключ AES используется для шифрования команд, отправляемых мастером миньону, и для шифрования соединений с файловым сервером мастера SaltStack.
Ключ генерируется повторно при каждом перезапуске мастера, а также каждый раз, когда ключ миньона удаляется командой salt-key
.
После ротации ключа все миньоны должны выполнить повторную аутентификацию для получения обновленного ключа.
Это позволяет выполнять ротацию ключа AES без необходимости прерывания соединения с миньоном.
Данные публикаций между мастером и миньоном шифруются ключом AES с ротацией.
При прямом взаимодействии мастера и миньона данные шифруются уникальным ключом AES для каждой сессии.
Допуск мастера к управлению миньонами
Программный комплекс Salt.Box поддерживает возможность работы с несколькими мастер-серверами.
Каждый мастер может управлять только зарегистрировавшимися на нём миньонами (т.е. выполнившими с ним успешный обмен ключами PKI).
Чтобы разрешить или запретить мастеру осуществлять управление миньонами, выполните следующие действия:
-
В главном меню системы выберите пункт
Мастера
. Вы перейдёте на страницу управления мастерами Рис. 1.
Рисунок 1. Допуск мастера к управлению миньонами -
Чтобы разрешить управление миньонами мастера, в соответствующей записи таблицы в поле Действия нажмите
Принять
. -
Чтобы запретить управление миньонами мастера, в соответствующей записи таблицы в поле Действия нажмите
Отклонить
.
Коллекции миньонов
Отображение коллекций, доступных пользователю
Пользователи Salt.Box имеют право просмотра и управления определёнными наборами миньонов, называемыми коллекциями.
Право доступа к коллекции (или набору коллекций) предоставляется пользователю администратором.
В Salt.Box выделена специальная роль collections_admin
, предоставляющая пользователю право на просмотр корневой коллекции (root collection) миньонов, т.е. множества ВСЕХ миньонов, зарегистрированных на ВСЕХ мастерах, известных Salt.Box.
О добавлении пользователей в систему и назначении ролей см. раздел онлайн-документации Настройка KeyCloak.
В данном разделе рассматриваются примеры для пользователя user
, которому назначена роль collections_admin
.
Чтобы вывести список миньоны определённой коллекции, доступной пользователю, выполните следующие действия:
-
В главном меню системы выберите пункт
Клиенты
.
На появившейся выдвижной панели Рис. 2 будут показаны все доступные коллекции.
Рисунок 2. Список доступных коллекций -
Выберите нужную коллекцию.
В рабочей области окна браузера будет выведен список миньонов выбранной коллекции Рис. 3.
Рисунок 3. Список миньонов выбранной коллекции
Фильтр коллекции
Набор миньонов в коллекции определяется фильтром коллекции.
Пользователь может применить к исходной коллекции, отображаемой в рабочем окне, дополнительный фильтр и сохранить результирующую коллекцию в Salt.Box.
Фильтр является логическим выражением, состоящим из элементарных "Правило" — операций сравнения и предикатов (в зависимости от типов аргументов), объединённых логическими операторами AND
и OR
.
Приоритет действий при вычислении логического выражения — стандартный для булевой алгебры, также может использоваться группировка с помощью конструкции "Группа" — своеобразных "скобок" в выражении.
На Рис. 4 показан пример дополнительного пользовательского фильтра.
-
Чтобы применить созданный фильтр к исходному списку, нажмите кнопку 🔍
Поиск
внизу слева от набора условий фильтра Рис. 4.
Рисунок 4. Фильтр коллекции -
Чтобы создать коллекцию на основе применённого фильтра, нажмите кнопку 💾 внизу справа от набора условий фильтра Рис. 4.
-
В диалоговом окне создания коллекции заполните поля
Название
иЖетон
Рис. 5.
Обратите внимание на подсказку с требованиями к набору символов, используемому в полеЖетон
.
Нажмите кнопкуСоздать
Рисунок 5. Создание коллекцииНовая коллекция будет создана и станет доступной для выбора пользователю на выдвижной панели Рис. 2.
Информация о миньоне
После первого подключения миньона к мастеру на миньоне автоматически запускается метод модуля выполнения grains.items
.
Этот метод выполняет сбор редко меняющейся (статической) информации об аппаратном и программном обеспечении миньона.
После выполнения указанного метода в карточке миньона отображается собранная информация Рис. 6.
Перейти в карточку миньона можно нажав на ссылку в поле ID клиента
в записи соответствующего миньона.
На рисунках Рис. 7 – Рис. 12 показаны примеры групп полученных от миньонов данных grains
.
![]() |
---|
![]() |
---|
![]() |
---|
![]() |
---|
![]() |
---|
![]() |
---|
Создание команд и задач
Создание команды
Подробно порядок создания, управления и мониторинга выполнения команд SaltStack разобран в разделе онлайн-документации Команды.
Создание задачи
Подробно порядок создания, управления и мониторинга выполнения задач разобран в разделе онлайн-документации Задачи.
Просмотр задач, выполненных на миньонах отображаемой коллекции
Для просмотра списка всех задач, выполненных на миньонах текущей отображаемой коллекции, выберите вкладку Задачи
, расположенную в верхней левой части страницы миньонов.
Вид таблицы задач показан на Рис. 14.
![]() |
---|
В таблице 1 приведён перечень полей таблицы задач.
Таблица 1. Перечень полей таблицы задачИмя поля | Значение |
---|---|
ID | Идентификатор задачи |
Шаблон задачи | Название порождающего шаблона |
Имя шаблона задачи | Системное имя порождающего шаблона |
Коллекция | Коллекция-владелец задачи |
Пользователь | Пользователь, создавший задачу |
Статус | Статус завершения задачи |
Создан | Период создания |
Статистика по миньонам
Для просмотра статистической информации об аппаратном и программном обеспечении миньонов выберите вкладку Статистика
, расположенную в верхней левой части страницы миньонов.
Блоки статистической информации имеют настраиваемое представление.
Можно менять размещение блоков на странице, выбирать текстовое представление или представление в виде диаграммы в рамках блока информации.
Вид страницы статистики показан на Рис. 15, Рис. 16.
![]() |
---|
![]() |
---|