Cron Job
Cron Job — объект API Kubernetes, который создает под, в котором будет выполнена только одна задача, после чего он будет остановлен. В отличии от объекта Job — для Cron Job можно установить точное время, в которое он будет запущен.
Пример Cron Job:
.. code-block:: bash
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: pi
spec:
schedule: "*/1 * * * *"
concurrencyPolicy: "Replace"
startingDeadlineSeconds: 200
suspend: true
successfulJobsHistoryLimit: 3
failedJobsHistoryLimit: 1
jobTemplate:
spec:
template:
metadata:
labels:
parent: "cronjobpi"
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: OnFailure
Где:
schedule
— график работы указан в формате cron. В этом примере задание будет выполняться каждую минуту.concurrencyPolicy
— политика, определяющая, как будут работать несколько объектов Cron Job.Allow — несколько объектов Cron Job могут работать одновременно.
Forbid — запрещает параллельные запуски объектов Cron Job.
Replace — отменяет текущее работающий объект Cron Job и заменяет его новым.
startingDeadlineSeconds
— крайний срок (в секундах) для запуска задания.suspend
— параметр, который позволяет приостановить объект Cron Job. Если установлено значениеtrue
, все последующие запуски объекта CronJob будут приостановлены.successfulJobsHistoryLimit
— количество успешно завершенных Cron Job, которые необходимо сохранить (по умолчанию 3).failedJobsHistoryLimit
— количество не выполненных завершенных Cron Job (по умолчанию 1).jobTemplate
— шаблон объекта задания.parent
— параметр устанавливает метки для задания указанного в объекте Cron Job.restartPolicy
— eстановленная ранее политика перезагрузки пода.
Чтобы создать объект Corn Job с помощью CLI используйте команду:
oc create -f <file-name>.yaml
Где <file-name>.yaml
— файл YAML содержащий исходный код объекта Cron Job.
Перейдите в меню
.Нажмите на кнопку Сreate Cron Job.
Добавьте исходный код объекта Cron Job и нажмите Create.
См.также
Подробнее о CronJobs смотрите здесь.