J02.05. Jobs (Задания)

Редактировал(а) Ирина Сафонова 07.01.2024, 00:20

Что такое Jobs (Задания)?


Jobs (Задания) — функционал Cloud Managed Kubernetes, позволяющий создавать, обеспечивать отслеживать завершение работы подов. Удаление задания приводит к очистке созданных подов. Если созданный под вышел из строя, например, из-за аппаратного сбоя или перезагрузки ноды, то создайте еще одно задание для завершения работы пода. Новое задание можно использовать для параллельного запуска нескольких подов. Этапы создания задания ниже.

Необходимые условия перед выполнением настроек


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

Пользователь должен быть приглашен в проект и наделен ролью operator.

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


Создание состоит из следующих последовательных шагов:
1. Открытие дашборда.
2. Ввод основной информации.
3. Настройка стратегии завершения.
4. Установка пода.
5. Проверка манифеста задания.
6. Проверка результатов настройки.

При необходимости проверьте параметры настройки.

Шаг 1. Открытие дашборда

1. Войдите в консоль как project-regular.
2. Перейдите в Jobs раздела Application Workloads и нажмите кнопку Create.

Шаг 2. Ввод основной информации

Заполните основные параметры задания:

  • Name: имя, которое является уникальным идентификатором.
  • Alias: псевдоним, упрощающий идентификацию ресурсов.
  • Description: описание задания.

Шаг 3. Настройка стратегии

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

Шаг необязателен.

ПараметрЗначениеОписание
Maximum Retries (Максимальное количество попыток)spec.backoffLimitУказывает максимальное количество повторных попыток, прежде чем это задание будет помечено как неудачное. По умолчанию равно 6.
Complete Pods (Завершение подов)spec.completions

Указывает желаемое количество успешно завершенных подов, с которыми должно выполняться задание. 0 означает, что успешное завершение пода сигнализирует об успешном завершении остальных и позволяет иметь любое положительное количество параллельных подов.
1 означает, что только один параллельный под. Если он успешно завершился — задание успешно.

Parallel Pods (Параллельные поды)spec.parallelismУказывает максимальное желаемое количество подов, которые задание должно запускать в любой момент времени. Фактическое количество подов, работающих в стабильном состоянии, будет меньше этого числа, когда количество оставшихся заданий меньше максимального количества параллельных подов.
Maximum Duration (Максимальная продолжительность в секундах)spec.activeDeadlineSecondsУказывает продолжительность в секундах относительно времени запуска, в течение которой задание может быть активным, прежде чем система попытается его завершить. Значение должно быть положительным целым числом.

Шаг 4. Установка пода

1. Выберите Re-create Pod для Restart Policy. Вы можете указать Re-create Pod или Restart container для Restart Policy, только если задание не завершено:

  • Если для Restart Policy задано значение Re-create Pod, задание создает новый под при сбое пода. Некорректно работающий под не исчезает.
  • Если для параметра  Restart Policy задано значение Restart container, задание перезапустит контейнер в случае сбоя пода вместо создания нового.

2. Нажмите кнопку Add Container, чтобы перейти на страницу Add Container. Введите perl в поле поиска изображения и нажмите Enter.
3. На той же странице прокрутите вниз до команды Start Command. Введите следующие команды в поле, которое вычисляет число пи до 2000 знаков, а затем печатает его.

perl,-Mbignum=bpi,-wle,print bpi(2000)

4. Нажмите √ в правом нижнем углу и выберите Next.

Шаг 5. Проверка манифеста задания

1. Включите Edit YAML в правом верхнем углу, чтобы отобразить файл манифеста задания.

Шаг необязателен.

apiVersion: batch/v1

kind: Job

metadata:

 namespace: demo-project

 labels:

   app: job-test-1

 name: job-test-1

 annotations:

   kubesphere.io/alias-name: Test

   kubesphere.io/description: A job test

spec:

 template:

   metadata:

     labels:

       app: job-test-1

   spec:

     containers:

        - name: container-4rwiyb

         imagePullPolicy: IfNotPresent

         image: perl

         command:

            - perl

            - '-Mbignum=bpi'

            - '-wle'

            - print bpi(2000)

     restartPolicy: Never

     serviceAccount: default

     initContainers: []

     volumes: []

     imagePullSecrets: null

 backoffLimit: 5

 completions: 4

 parallelism: 2

 activeDeadlineSeconds: 300

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

При необходимости пропустите настройку Storage Settings и Advanced Settings.

Шаг 6. Проверка результатов настройки

1. На последнем шаге дополнительных настроек нажмите кнопку Create. Успешно созданное задание появляется в списке.

В результате задание создано.

2. Щелкните задание и перейдите в раздел Job Records с информацией о каждой записи выполнения.

При необходимости перезапустите незапущенное задание. Причина отказа в запуске отображается в разделе Message.

3. В разделе Resource Status при необходимости проверьте статус пода. Два пода создавались каждый раз, когда для параллельных подов было установлено значение 2. Щелкните icon и щелкните icon, чтобы проверить журнал контейнера, в котором отображается ожидаемый результат расчета.

  • В разделе Resource Status список подов содержит подробную информацию о поде — например, время создания, ноду, IP-адрес пода и данные мониторинга.
  • При необходимости просмотрите информацию о контейнере, щелкнув под.
  • Щелкните значок журнала, чтобы вывести логи контейнера.
  • При необходимости щелкните на под и просмотрите информацию о нем.

Проверка параметров настройки


При необходимости просмотрите параметры настройки.

Операции

На странице сведений управляйте заданием после его создания.

  • Edit Information: изменение основной информации, кроме названия.
  • Rerun: повторное создание задания. В результате под перезапустится, создается новая запись выполнения.
  • View YAML: просмотр спецификации задания в формате YAML.
  • Delete: удаление и возврат на страницу со списком заданий.

Запись о выполнении

1. Щелкните вкладку Job Records, чтобы просмотреть записи выполнения задания.
2. Щелкните icon, чтобы обновить список записей.

Статус ресурса

1. Перейдите на вкладку Resource Status, чтобы просмотреть информацию о служебных портах, рабочих нагрузках и подах.
2. В области подов щелкните icon, чтобы обновить информацию о поде, и щелкните icon, чтобы отобразить/скрыть контейнеры в каждом поде.

Метаданные

Щелкните вкладку Metadata, чтобы просмотреть метки и аннотации задания.

Переменные среды

Щелкните вкладку Environment Variables, чтобы просмотреть переменные среды задания.

События

Щелкните вкладку Events, чтобы просмотреть события в задании.

В начало 🡱
К следующему разделу 🡲
К предыдущему разделу 🡰