← До фільтрів та технологій

← До списку лабораторних по Kubernetes

Kubernetes Лабораторна 13: Планувальник задач через CronJob

Технологія: Kubernetes

Номер лабораторної: 13 · Рівень: middle

Тема: CronJob періодичні задачі

Повний опис / сценарій лабораторної:

Мета: навчитися запускати періодичні задачі в кластері за допомогою cronjob.



Крок 1. Створити простий job, що друкує дату.

Команда: kubectl create job date-job --image=busybox -- sh -c "date"

Пояснення: одноразове виконання для тесту образу і команди.



Крок 2. Перевірити завершення job.

Команда: kubectl get jobs

Пояснення: статус має бути complete.



Крок 3. Написати yaml для cronjob.

Ідея: cronjob з образом busybox, який кожні хвилину друкує дату і час у лог і завершується.

Пояснення: використай cron вираз наприклад "*/1 * * * *".



Крок 4. Застосувати cronjob.

Команда: kubectl apply -f cron-date.yaml

Пояснення: kubernetes створить планувальник задачі.



Крок 5. Перевірити cronjob і повязані jobs.

Команди: kubectl get cronjob; kubectl get jobs

Пояснення: через декілька хвилин мають зявитися jobs, створені cronjob.



Крок 6. Подивитися логи одного з pod.

Команда: kubectl logs <pod-імя з job>

Пояснення: вивід має містити дату і час запуску.



Крок 7. Обмежити кількість job historії.

Пояснення: додай у yaml поля successfulJobsHistoryLimit і failedJobsHistoryLimit, щоб не накопичувати тисячі записів.



Крок 8. Оновити cron вираз.

Дія: зміни розклад на рідший, наприклад кожні 5 хвилин, і повторно застосуй yaml.

Пояснення: перевір, що розклад змінився.



Крок 9. Зупинити cronjob.

Команда: kubectl delete cronjob date-cron

Пояснення: більше нові jobs створюватися не будуть.



Крок 10. Міні звіт.

Завдання: наведи три типових сценарії для cronjob у продакшн системі.