Одним из главных преимуществ системы SaltStack Config является возможность улучшить управление конфигурацией системы. Для упрощения и автоматизации типовых задач и процедур, которые регулярно выполняет рабочая группа, можно использовать задания в SaltStack Config. Благодаря использованию заданий для управления конфигурацией можно сокращать время, затрачиваемое на операции установки, настройки, мониторинга и обслуживания узлов в системе, которые приходится выполнять вручную. Это также позволяет гарантировать, что ваша система всегда будет находиться в требуемом состоянии.

Создание и выполнение заданий представляет собой многошаговый процесс, в ходе которого необходимо использовать различные средства и рабочие области в SaltStack Config. На рисунке ниже приведена схема полного рабочего процесса обработки задания.


Рисунок, на котором представлен рабочий процесс обработки заданий в форме алгоритма

В следующих разделах будут описаны все выполняемые шаги.

Создание целевых объектов

Прежде чем приступить к выполнению заданий, необходимо создать и определить целевые объекты. Целевой объект — это группа служебных серверов, связанных с одним контроллером Salt или несколькими, которой предназначена команда Salt определенного задания. Контроллером Salt можно управлять так же, как служебным сервером. Этот контроллер может выступать в роли целевого объекта, если на нем выполняется служба Minion. Другими словами, целевой объект определяет узел или узлы, на которых будет выполняться задание. Для создания целевых объектов можно использовать простой список служебных серверов. Более сложные целевые объекты можно создать на основе базовых свойств служебных серверов, например их операционной системы или типа сервера.

Для создания целевых объектов используется рабочая область «Служебные серверы». Дополнительные сведения см. в разделе Служебные серверы.

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

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

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

При создании задания целевой объект можно сразу не указывать, а определить позже.

Для создания заданий используется рабочая область «Задания». Более подробную информацию см. в разделе Задания.

Определение ролей

Для обеспечения безопасности системы участники рабочей группы должны иметь доступ только к тем узлам или заданиям, для которых у них есть разрешение. Такой подход обычно называется контролем доступа на основе ролей (RBAC). RBAC означает, что доступ должен предоставляться к ресурсам на основе ролей участника рабочей группы. Для участников группы доступ должен предоставляться только к тем ресурсам, которые им необходимы для выполнения своей работы.

Роли и разрешения можно определить внутри SaltStack Config или привязать доступ к целевым объектам и заданиям в системе RBAC организации, например в системах на основе LDAP, таких как Active Directory, или системах на основе SAML, например Google.

Дополнительные сведения см. в следующих разделах.

Выполнение заданий

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

  • Целевой объект
  • Функция (команда, которую необходимо выполнить, или состояние, которое нужно применить)
  • Разрешения (кто может выполнять задание с целевым объектом)

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

Создание расписания

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

Для создания расписаний используется рабочая область «Расписания». Более подробную информацию см. в разделе Расписания.

Выполнение незапланированных заданий

Для запуска незапланированных заданий можно использовать рабочие области «Служебные серверы» или «Задания».

Дополнительные сведения см. в следующих разделах.

Проверка состояния задания и выходных данных

Во время выполнения задания или после его завершения можно проверить состояние задания и подробные выходные данные в рабочей области «Действие». Дополнительные сведения см. в разделе Действие.