Задания используются для выполнения удаленно исполняемых задач, применения состояний и запуска модулей выполнения системы Salt. Рабочая область «Задания» — это область, в которой можно создавать, настраивать и сохранять настройки заданий для их повторного использования. Задания, как правило, предназначены для системных операций, которые должны быть автоматизированы и выполняться многократно, и позволяют уменьшить время настройки.

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

Способы использования рабочей области «Задания» и других рабочих областей в SaltStack Config для создания заданий и их применения для управления конфигурацией см. в разделе Рабочий процесс заданий SaltStack Config.

Задания можно запускать из рабочей области «Задания», из рабочей области «Служебные серверы» или с других экранов в пользовательском интерфейсе SaltStack Config в зависимости от характера задания. Задания также можно запускать регулярно по расписанию или только по мере необходимости. Как правило, задания, которые запускаются только по необходимости, называются незапланированными.

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

  • Выполнение задания — содержит сведения о выполнении заданий в рабочей области «Задания»
  • Служебные серверы — содержит сведения о выполнении заданий в рабочей области «Служебные серверы»
  • Расписания — содержит сведения о выполнении заданий по расписанию
Примечание: В рамках инициативы корпорации VMware по удалению сомнительных терминов термин «Salt master» (главный сервер Salt) будет заменен на более подходящий в системе SaltStack Config, в связанных продуктах и документации. Для обновления терминологии может потребоваться несколько этапов, прежде чем этот процесс будет полностью завершен.

Требования к заданиям

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

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

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

Можно определить целевой объект в настройках задания или не указывать его. В этом случае целевой объект нужно будет выбирать для каждого цикла выполнения задания. Если целевой объект будет указан в задании, данное задание не будет выполняться на тех узлах, для которых оно не предназначено. Дополнительные сведения см. в разделе Служебные серверы.

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

В рабочей области «Задания» можно создавать новые задания и редактировать существующие. После задания настроек задания можно запускать незапланированные задания или создать расписание для выполнения заданий в будущем. Более подробную информацию см. в разделе Расписания.

SaltStack Config содержит элемент управления «Выполнить команду», который позволяет выполнить отдельную команду, не настраивая регулярное задание. Это удобно для быстрого выполнения команд или выполнения разовых заданий, которые не являются частью ежедневного рабочего процесса (например, в ходе устранения неполадок или во время начальной настройки). Дополнительные сведения см. в разделе Выполнение команды.

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

Доступ к рабочей области «Задания»

Чтобы использовать рабочую область «Задания», выберите Config > Задания в боковом меню.

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

Чтобы создать новое задание, выполните следующее.

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

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

Чтобы запустить незапланированное задание, выполните следующее.

  1. В рабочей области «Задания» щелкните меню menu-icon-light рядом с заданием, которое необходимо выполнить.
  2. Нажмите Запустить сейчас.
  3. Во всплывающем окне выберите целевой объект, для которого необходимо выполнить задание.
    Примечание: Если в соответствии с настройками задание должно содержать целевой объект или главный сервер Salt, отображается запрос на подтверждение.
  4. При необходимости выберите дополнительные параметры.
    • Настройте параметры уведомлений
    • Выберите «Выполнить как тест (пробное выполнение)», чтобы запустить задание в виде теста в соответствии с вашими требованиями.
  5. Нажмите Запустить сейчас.
    Примечание: Задания также можно выполнять из рабочей области «Служебные серверы». См. раздел Служебные серверы.

Поиск задания

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

По умолчанию на странице отображается не более 20 заданий. Чтобы увидеть больше заданий, щелкните меню Элементов на странице в нижней части таблицы заданий и выберите требуемое количество заданий для просмотра.

Чтобы найти конкретное задание, выполните следующее.

  1. В рабочей области «Задания» нажмите кнопку фильтра filter-icon для столбца, в котором нужно выполнить поиск.
  2. Как только вы начнете вводить критерии поиска, появится фильтр строк. Например, для поиска задания по модулю Salt, который в нем используется, можно выполнить фильтрацию по столбцу Функция.
    Примечание: Также можно один раз щелкнуть любое имя столбца, чтобы сортировать строки в порядке убывания. Чтобы изменить порядок сортировки, щелкните еще раз. Дополнительные сведения о фильтрации см. в разделе Фильтрация и сортировка столбцов таблицы.

Фильтрация и сортировка столбцов таблицы

Для фильтрации по каждому столбцу можно выбрать его значок фильтра filter-icon, а затем выбрать или ввести критерии фильтрации. Чтобы сбросить фильтр, нажмите кнопку Очистить фильтры над таблицей заданий.

Можно также отсортировать столбец, выбрав его имя. Чтобы настроить состав отображаемых столбцов таблицы, нажмите кнопку Показать столбцы show-columns-icon в нижнем левом углу таблицы.

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

Просмотр возвращаемых результатов заданий

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

  1. В боковом меню щелкните Действие, а затем Завершено, чтобы открыть список завершенных заданий.
  2. Выберите идентификатор задания в столбце JID, чтобы получить сведения о возвращаемом результате задания. Более подробную информацию см. в разделе Возвращаемые результаты заданий.

Редактирование задания

Чтобы обновить или изменить задание, сделайте следующее.

  1. В рабочей области «Задания» выберите задание.
  2. При необходимости отредактируйте сведения о задании, затем щелкните Сохранить.

Определение разрешений для задания

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

  1. В рабочей области «Задания» выберите задание и откройте сведения о нем.
  2. На странице сведений о задании щелкните Доступ на основе ролей.
  3. В диалоговом окне выберите уровень доступа для различных ролей и нажмите Сохранить.
  4. На странице сведений о задании нажмите Сохранить.
    Примечание: Помимо определения доступа к заданию на основе ролей необходимо назначить разрешения в редакторе ролей для выполнения задач в соответствии с ролью. Дополнительные сведения см. в разделе Роли и разрешения.

Настройки задания

Задайте настройки задания, используя следующие параметры.

  • Имя. Введите имя задания. Оно будет отображаться в рабочих областях «Задания», «Служебные серверы» и «Действие», а также в редакторе ролей.
  • Описание. Введите описание для задания (необязательно). Это описание будет отображаться в списке заданий в рабочей области «Задания».
  • Команда. Выберите команду для выполнения.
    • salt — позволяет определить задание, которое должно быть выполнено с целевой группой служебных серверов.
    • salt-run — позволяет определить задание, которое должно быть выполнено на главном сервере Salt или в группе главных серверов Salt.
    Примечание: SaltStack Config содержит элемент управления «Выполнить команду», который позволяет выполнить отдельную команду, не настраивая регулярное задание. Это удобно для быстрого выполнения команд или выполнения разовых заданий, которые не являются частью ежедневного рабочего процесса (например, в ходе устранения неполадок или во время начальной настройки). Дополнительные сведения см. в разделе Выполнение команды.
  • Целевые объекты. Целевым объектом является группа служебных серверов, относящихся к одному главному серверу Salt или нескольким, для которой предназначена команда Salt данного задания. Главным сервером Salt также можно управлять как служебным сервером. Он может быть целевым объектом, если на нем выполняется служба Minion. Если в разделе Команды выбрана команда salt, можно (необязательно) указать целевую группу служебных серверов, в которой будет выполнено задание. Если это поле будет оставлено пустым, система будет предлагать выбрать целевой объект при запуске каждого цикла выполнения задания.
  • Все главные серверы. Главный сервер Salt является центральным узлом, используемым для отправки команд на служебные серверы. Если в разделе Команды выбрана команда salt-run, можно указать главный сервер Salt, для которого необходимо выполнить задание. По умолчанию выбирается значение Все главные серверы. Если этот параметр отключить, появляется меню Главный сервер.

    Задания salt-run также называются модулями выполнения Salt runner. Модули выполнения Salt используются для выполнения вспомогательных функций на главном сервере Salt. Дополнительные сведения об использовании команды salt-run см. в разделе Настройки задания.

  • Главные серверы Salt. Если в разделе Команды выбрана команда salt-run и параметр Все главные серверы выключен, появляется меню Главный сервер. Щелкните это меню и выберите главный сервер Salt, для которого необходимо выполнить задание. При необходимости можно выбрать несколько главных серверов Salt.
  • Функция. Укажите функцию, которая определяет, что происходит при выполнении задания. Можно определить отдельное задание для удаленного выполнения, задание с файлом состояния или задание с модулем выполнения Salt. Список функций Salt см. в документе Справочник по модулям Salt.
    • Отдельные задания, выполняемые удаленно. Чтобы определить отдельное удаленно выполняемое задание, укажите функцию и все необходимые аргументы в настройках задания.
    • Задания с файлом состояния. Задание с файлом состояния применяет состояния к целевому объекту и должно включать в себя как минимум одну команду. Функция состояния — это функция, которая содержится внутри модуля состояния. От нее зависит применение определенного состояния к системе. Функции состояния часто обращаются к одному модулю выполнения или нескольким для реализации определенной задачи. Процесс highstate применяет все состояния, определенные в top-файле. Файлы состояний можно просматривать и добавлять на файловом сервере. См. раздел Файловый сервер.

      Чтобы применить файл состояния к заданию, используйте функцию state.apply. Чтобы выполнить процесс highstate, используйте функцию state.apply или state.highstate в настройках задания.

      При добавлении вызова состояния в задание появляются дополнительные поля, в которых можно выбрать файлы состояний для применения. Также можно передать вспомогательные переопределения хранилища pillar в формате JSON.

      Примечание: Данные из хранилища pillar, отображаемые на странице задания, отправляются вместе с заданием и доступны другим служебным серверам, прошедшим проверку подлинности. Чтобы обеспечить защиту данных, назначьте конфиденциальные данные в стандартном хранилище pillar. См. Модули pillar.

      Дополнительные сведения о состояниях Salt см. в разделе Документация по Salt. Как использовать состояния Salt?.

    • Модули выполнения Salt. Задание salt-run применяется к главному серверу Salt или группе главных серверов Salt. Задания salt-run также называются модулями выполнения Salt runner. Модули выполнения Salt используются для выполнения вспомогательных функций на главном сервере Salt. Модули выполнения Salt можно использовать для оркестрации, дистанционной подачи питания на служебные серверы, вызова веб-перехватчиков и прочего. Их удобно использовать для выполнения задач централизованным образом или из центральной начальной точки. Например, процесс highstate можно применить ко всем служебным серверам, связанным с заданным главным сервером Salt.

      Для настройки задания модуля выполнения, отвечающего за оркестрацию, используйте функцию state.orchestrate. При добавлении вызова оркестрации в задание появляются дополнительные поля, в которых можно указать файлы оркестрации для применения. Также можно передать вспомогательные переопределения хранилища pillar в формате JSON.

      Примечание: Данные из хранилища pillar, отображаемые на странице задания, отправляются вместе с заданием и доступны другим служебным серверам, прошедшим проверку подлинности. Чтобы обеспечить защиту данных, назначьте конфиденциальные данные в стандартном хранилище pillar. См. Модули pillar.

      Дополнительные сведения о модулях выполнения Salt см. в документе Справочник по модулям выполнения Salt.

  • Среды. Выберите среду, в которой находится файл состояния или оркестрации. Это подкаталог в корневом каталоге на файловом сервере. См. раздел Файловый сервер.
  • Тест (пробное выполнение). Выполнение тестового задания и создание пробного возвращаемого результата задания. Если выбрать Тест, задание не будет выполнено и никакие изменения не будут внесены. Если этот параметр не будет выбран, можно позже выбрать вариант выполнения задания в виде теста при запуске задания. Параметр «Тест (пробное выполнение)» доступен не для всех функций. Дополнительные сведения можно получить у администратора.