Запуск периодического задания (cronjob)
В дополнение к одноразовым заданиям (jobs), Kubernetes также поддерживает периодические задания (cronjobs) для запуска задач по регулярному расписанию. В этом примере мы создадим периодическое задание (cronjob), которое запускает команду каждую минуту.
Создайте файл с именем cronjob.yaml
в директории /home/labex/project/
со следующим содержимым:
apiVersion: batch/v1
kind: CronJob
metadata:
name: hello-cronjob
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: hello
image: busybox
command: ["sh", "-c", 'echo "Hello, World!"']
restartPolicy: Never
successfulJobsHistoryLimit: 3
failedJobsHistoryLimit: 3
В этом файле мы определяем периодическое задание (cronjob) с именем hello-cronjob
, которое запускает команду каждую минуту. Эта команда та же, что и в первом примере, для вывода "Hello, World!" в консоль.
Для создания периодического задания (cronjob) выполните следующую команду:
kubectl apply -f cronjob.yaml
Вы можете проверить статус периодического задания (cronjob) с помощью следующей команды:
kubectl get cronjobs
После запуска периодического задания (cronjob) вы можете просмотреть логи пода (pod) с помощью следующей команды:
kubectl logs -f <POD_NAME>
Замените <POD_NAME>
именем любого пода (pod), созданного периодическим заданием (cronjob). Вы можете получить POD_NAME
с помощью команды kubectl get pod |grep hello-cronjob
.
Поздравляем! Вы успешно запустили периодическое задание (cronjob) в Kubernetes!