J02.06. CronJob (Задания по расписанию)
Что такое CronJob (Задания по расписанию)?
Задания по расписанию (CronJob) — функционал Cloud Managed Kubernetes для создания периодических и повторяющихся задач, таких как создание резервных копий или отправка электронных писем. Задания создают поды. Задания по расписанию могут планировать отдельные задачи в определенное время или с определенным интервалом, например, планировать задание на то время, когда кластер не используется.
Ссылки на документацию
Более подробная информация по заданиям по расписанию в официальной документации Kubernetes.
Необходимые условия перед выполнением настроек
Перед выполнением настроек должны быть созданы:
- рабочее пространство,
- проект,
- пользователь project-regular.
Пользователь должен быть приглашен в проект и наделен ролью 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 | Поле показывает, как обрабатывать одновременные выполнения заданий. Значения поля:
|
Шаг 3. Настройка стратегии
Настраивается по аналогии с заданиями.
Шаг 4. Установка пода
1. Нажмите кнопку Add Container в Containers, введите busybox в поле поиска и нажмите Enter.
2. Прокрутите вниз до Start Command и введите /bin/sh,-c,date; echo "KubeSphere!" в поле над параметрами.
3. Нажмите √, чтобы завершить настройку изображения, и нажмите кнопку Next.
Шаг 5. Проверка результатов настройки
1. В Advanced Settings нажмите кнопку Create. Успешно созданное задание по расписанию появляется в списке. Задания также содержатся на вкладке Jobs.
2. На вкладке ConJobs щелкните задание по расписанию и перейдите на вкладку Job Records с информацией о каждой записи выполнения.
3. Просмотрите сведения о задании.
4. В разделе Resource Status проверьте статус пода. Щелкните и , чтобы проверить журнал контейнера с ожидаемым результатом расчета.
Проверка параметров настройки
При необходимости просмотрите параметры настройки.
Операции
На странице сведений управляйте заданием после его создания.
- Edit Information: изменение основной информации, кроме названия.
- Pause/Start: приостановка или запуск задание по расписанию. Приостановка задания по расписанию сообщит контроллеру развертывания приложений о необходимости приостановить последующие выполнения. Запущенные выполнения не приостанавливаются.
- View YAML: просмотр спецификации задания в формате YAML.
- Delete: удаление и возврат на страницу со списком заданий.
Запись о выполнении
Щелкните вкладку Job Records, чтобы просмотреть записи выполнения задания по расписанию.
Метаданные
Щелкните вкладку Metadata, чтобы просмотреть метки и аннотации задания по расписанию.
События
Щелкните вкладку Events, чтобы просмотреть события задания по расписанию.