Перейти к основному содержимому

Миньоны

Миньон — это агентское приложение, которое устанавливается на управляемых узлах инфраструктуры SaltStack и обеспечивает взаимодействие с мастером SaltStack.
Миньон обеспечивает выполнение команд, подаваемых мастером, сбор информации с управляемого узла и управление его программной конфигурацией.

Мньоном также называется сам управляемый узел с функционирующим агентом — службой salt-minion.

Версии миньонов для операционных систем Windows® и GNU/Linux имеют схожие функциональные возможности, но отличаются наборами методов модулей выполнения и модулей состояния.

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

Затем мастер передает миньону свой публичный ключ вместе с ротируемым симметричным ключом AES, используемым для шифрования и дешифрования сообщений, передаваемых мастером.
Ключ AES передается зашифрованным публичным ключом, полученным ранее от миньона.
Весь дальнейший обмен между мастером и миньоном шифруется ключами AES.

Ротируемый ключ AES используется для шифрования команд, отправляемых мастером миньону, и для шифрования соединений с файловым сервером мастера SaltStack.
Ключ генерируется повторно при каждом перезапуске мастера, а также каждый раз, когда ключ миньона удаляется командой salt-key.
После ротации ключа все миньоны должны выполнить повторную аутентификацию для получения обновленного ключа.
Это позволяет выполнять ротацию ключа AES без необходимости прерывания соединения с миньоном.

Данные публикаций между мастером и миньоном шифруются ключом AES с ротацией.
При прямом взаимодействии мастера и миньона данные шифруются уникальным ключом AES для каждой сессии.

Допуск мастера к управлению миньонами

Программный комплекс Salt.Box поддерживает возможность работы с несколькими мастер-серверами.
Каждый мастер может управлять только зарегистрировавшимися на нём миньонами (т.е. выполнившими с ним успешный обмен ключами PKI).

Чтобы разрешить или запретить мастеру осуществлять управление миньонами, выполните следующие действия:

  1. В главном меню системы выберите пункт Masters. Вы перейдёте на страницу управления мастерами Рис. 1.

    Допуск мастера к управлению миньонами
    Рисунок 1. Допуск мастера к управлению миньонами
  2. Чтобы разрешить управление миньонами мастера, в соответствующей записи таблицы в поле Actions нажмите Accept.

  3. Чтобы запретить управление миньонами мастера, в соответствующей записи таблицы в поле Actions нажмите Reject.

Коллекции миньонов

Отображение коллекций, доступных пользователю

Пользователи Salt.Box имеют право просмотра и управления определёнными наборами миньонов, называемыми коллекциями.
Право доступа к коллекции (или набору коллекций) предоставляется пользователю администратором.

В Salt.Box выделена специальная роль collections_admin, предоставляющая пользователю право на просмотр корневой коллекции (root collection) миньонов, т.е. множества ВСЕХ миньонов, зарегистрированных на ВСЕХ мастерах, известных Salt.Box.

к сведению

О добавлении пользователей в систему и назначении ролей см. раздел онлайн-документации Настройка KeyCloak.

В данном разделе рассматриваются примеры для пользователя user, которому назначена роль collections_admin.

Чтобы вывести список миньоны определённой коллекции, доступной пользователю, выполните следующие действия:

  1. В главном меню системы выберите пункт Minions.
    На появившейся выдвижной панели Рис. 2 будут показаны все доступные коллекции.

    Список доступных коллекций
    Рисунок 2. Список доступных коллекций
  2. Выберите нужную коллекцию.
    В рабочей области окна браузера будет выведен список миньонов выбранной коллекции Рис. 3.

    Список миньонов выбранной коллекции
    Рисунок 3. Список миньонов выбранной коллекции

Фильтр коллекции

Набор миньонов в коллекции определяется фильтром коллекции.
Пользователь может применить к исходной коллекции, отображаемой в рабочем окне, дополнительный фильтр и сохранить результирующую коллекцию в Salt.Box.

Фильтр является логическим выражением, состоящим из элементарных "Rule" — операций сравнения и предикатов (в зависимости от типов аргументов), объединённых логическими операторами AND и OR.
Приоритет действий при вычислении логического выражения — стандартный для булевой алгебры, также может использоваться группировка с помощью конструкции "Group" — своеобразных "скобок" в выражении.

На Рис. 4 показан пример дополнительного пользовательского фильтра.

  1. Чтобы применить созданный фильтр к исходному списку, нажмите кнопку 🔍Search внизу слева от набора условий фильтра Рис. 4.

    Фильтр коллекции
    Рисунок 4. Фильтр коллекции
  2. Чтобы создать коллекцию на основе применённого фильтра, нажмите кнопку 💾 внизу справа от набора условий фильтра Рис. 4.

  3. В диалоговом окне создания коллекции заполните поля title и slug Рис. 5.
    Обратите внимание на подсказку с требованиями к набору символов, используемому в поле slug.
    Нажмите кнопку Create

    Создание коллекции
    Рисунок 5. Создание коллекции

    Новая коллекция будет создана и станет доступной для выбора пользователю на выдвижной панели Рис. 2.

Информация о миньоне

После первого подключения миньона к мастеру на миньоне автоматически запускается метод модуля выполнения grains.items.
Этот метод выполняет сбор редко меняющейся (статической) информации об аппаратном и программном обеспечении миньона.

После выполнения указанного метода в карточке миньона отображается собранная информация Рис. 6.
Перейти в карточку миньона можно нажав на ссылку в поле MID в записи соответствующего миньона.

На рисунках Рис. 7Рис. 13 показаны примеры групп полученных от миньонов данных grains.

Карточка миньона
Рисунок 6. Карточка миньона



Группа элементов grains "Базовая конфигурация"
Рисунок 7. Группа элементов grains "Базовая конфигурация"



Группа элементов grains "Операционная система"
Рисунок 8. Группа элементов grains "Операционная система"



Группа элементов grains "Среда выполнения"
Рисунок 9. Группа элементов grains "Среда выполнения"



Группа элементов grains "Хранилище"
Рисунок 10. Группа элементов grainss "Хранилище"



Группа элементов grains "Сеть"
Рисунок 11. Группа элементов grains "Сеть"



Группа доролнительных элементов grains
Рисунок 12. Группа дополнительных элементов grains



Другие элементы grains
Рисунок 13. Другие элементы grains

Создание команд и задач

Создание команды

Команду SaltStack для отдельного миньона можно создать непосредственно из карточки миньона:

  1. Нажмите кнопку Create Job, расположенную в верхней левой части карточки Рис. 6.
    Будет выведено диалоговое окно создания команды, при этом в полях Target type и Target будут указаны необходимые значения: тип нацеливания и идентификатор миньона.

  2. Выберите метод, вызываемый командой, и при необходимости укажите аргументы, передаваемые методу.

    к сведению

    Подробно порядок создания, управления и мониторинга выполнения команд SaltStack разобран в разделе онлайн-документации Команды SaltStack.

Создание задачи

Задачу для группы миньонов можно создать со страницы миньонов:

  1. В списке миньонов отображаемой коллекции Отметьте флажками нужные миньоны Рис. 3.

  2. Нажмите кнопку Create Task, расположенную в верхней левой части списка.
    Будет выведено диалоговое окно создания задачи.

  3. Укажите необходимые параметры и создайте задачу.

    к сведению

    Подробно порядок создания, управления и мониторинга выполнения задач разобран в разделе онлайн-документации Задачи.

Просмотр задач, выполненных на миньонах отображаемой коллекции

Для просмотра списка всех задач, выполненных на миньонах текущей отображаемой коллекции, выберите вкладку Tasks, расположенную в верхней левой части страницы миньонов.
Вид таблицы задач показан на Рис. 14.

Список выполненных задач
Рисунок 14. Список выполненных задач


В таблице 1 приведён перечень полей таблицы задач.

Таблица 1. Перечень полей таблицы задач
Имя поляЗначение
IDИдентификатор задачи
Task Template TitleНазвание порождающего шаблона
Task Template NameСистемное имя порождающего шаблона
CollectionКоллекция-владелец задачи
UserПользователь, создавший задачу
StatusСтатус завершения задачи
CreatedПериод создания

Статистика по миньонам

Для просмотра статистической информации об аппаратном и программном обеспечении миньонов выберите вкладку Statistics, расположенную в верхней левой части страницы миньонов.

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

Вид страницы статистики показан на Рис. 15, Рис. 16.

Статистика по миньонам в текстовом виде
Рисунок 15. Статистика по миньонам в текстовом виде


Статистика по миньонам с диаграммами
Рисунок 16. Статистика по миньонам с диаграммами