J02.06. CronJob (Задания по расписанию)

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

Что такое CronJob (Задания по расписанию)?


Задания по расписанию (CronJob) — функционал Cloud Managed Kubernetes для создания периодических и повторяющихся задач, таких как создание резервных копий или отправка электронных писем. Задания создают поды. Задания по расписанию могут планировать отдельные задачи в определенное время или с определенным интервалом, например, планировать задание на то время, когда кластер не используется.

Ссылки на документацию

Более подробная информация по заданиям по расписанию в официальной документации Kubernetes.

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


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

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

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


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

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

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

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

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

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

  • Name: имя, которое является уникальным идентификатором.
  • Alias: псевдоним, упрощающий идентификацию ресурсов.
  • Schedule: запуск задания по заданному повременному графику (CRON). Некоторые предустановленные операторы CRON используются в Cloud Managed Kubernetes для упрощения ввода данных. Это поле определяется как .spec.schedule. Для задания по расписанию введите */1 * * * * . Единица означает, что задание запускается раз в минуту.
ТипCRON
Ежеминутно*/1 * * * *
Ежечасно0 * * * *
Ежедневно0 0 * * *
Еженедельно0 0 * * 0
Ежемесячно0 0 1 * *

Advanced Settings:

ПолеПараметр в  файле манифестаКомментарий
Maximum Start Delay (в секундах).spec.startingDeadlineSecondsНеобязательное поле. Значение поля — максимальное количество секунд, которое может потребоваться для запуска задания по расписанию, если задание пропустит запланированное время. Задания по расписанию, которые пропустили выполнение, считаются неуспешными. Если вы не укажете значение поля Maximum Start Delay, срок выполнения задания по расписанию считается неустановленным.
Successful Jobs Retained.spec.successfulJobsHistoryLimitКоличество успешных выполнений заданий по расписанию, которые необходимо сохранить. По умолчанию значение поля — 3.
Failed Jobs Retained.spec.failedJobsHistoryLimitКоличество неудачных выполнений заданий по расписанию, которые необходимо сохранить. По умолчанию значение поля — 1.
Concurrency Policy.spec.concurrencyPolicyПоле показывает, как обрабатывать одновременные выполнения заданий.
Run Jobs concurrently.spec.concurrencyPolicy

Поле показывает, как обрабатывать одновременные выполнения заданий. Значения поля:

  • Run Jobs concurrently: одновременный запуск заданий Cron.
  • Skip new Job: запрет параллельных запусков и пропуск следующих заданий, если предыдущий запуск еще не завершен.
  • Skip old Job: отмена текущего задания и замена новым.

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

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

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

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

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

1. Нажмите кнопку Add Container в Containers, введите busybox в поле поиска и нажмите Enter.
2. Прокрутите вниз до Start Command и введите /bin/sh,-c,date; echo "KubeSphere!" в поле над параметрами.
3. Нажмите √, чтобы завершить настройку изображения, и нажмите кнопку Next.

  • Более детальная информация по Restart Policy в статье Задания.
  • При необходимости пропустите настройки Storage Settings и Advanced Settings.

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

1. В Advanced Settings нажмите кнопку Create. Успешно созданное задание по расписанию появляется в списке. Задания также содержатся на вкладке Jobs.

В результате:

  • Задание по расписанию создано.
  • Задания  по расписанию на вкладке Jobs.

2. На вкладке ConJobs щелкните задание по расписанию и перейдите на вкладку Job Records с информацией о каждой записи выполнения.
3. Просмотрите сведения о задании.
4. В разделе Resource Status проверьте статус пода. Щелкните icon и  icon, чтобы проверить журнал контейнера с ожидаемым результатом расчета.

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


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

Операции

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

  • Edit Information: изменение основной информации, кроме названия.
  • Pause/Start: приостановка или запуск задание по расписанию. Приостановка задания по расписанию сообщит контроллеру развертывания приложений о необходимости приостановить последующие выполнения. Запущенные выполнения не приостанавливаются.
  • View YAML: просмотр спецификации задания в формате YAML.
  • Delete: удаление и возврат на страницу со списком заданий.

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

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

Метаданные

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

События

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

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