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

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

Kubernetes Лабораторна 19: Одноразова задача з ретраями

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

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

Тема: Job і повторні спроби

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

Мета: навчитися створювати job з кількома спробами виконання при помилці.



Крок 1. Написати yaml для job, яка інколи завершується помилкою.

Ідея: контейнер busybox з командою, що з певною імовірністю повертає ненульовий код.

Пояснення: так ми зможемо перевірити повторні спроби.



Крок 2. Вказати параметри backoffLimit.

Пояснення: наприклад, backoffLimit 3 означає, що job буде перезапускати pod до трьох разів.



Крок 3. Застосувати job.

Команда: kubectl apply -f job-retry.yaml

Пояснення: створюється job і перший pod.



Крок 4. Перевіряти статус job.

Команда: kubectl get jobs

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



Крок 5. Перевірити поди job.

Команда: kubectl get pods -l job-name=job-retry

Пояснення: побачиш поди з різними статусами succeeded і failed.



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

Команда: kubectl logs <failed-pod>

Пояснення: проаналізуй, чому він завершився з помилкою.



Крок 7. Подивитися опис job.

Команда: kubectl describe job job-retry

Пояснення: в events побачиш історію перезапусків.



Крок 8. Змінити backoffLimit і перезапустити job.

Пояснення: перевір, як поводиться job з іншим обмеженням повторних спроб.



Крок 9. Видалити job разом з pod.

Команда: kubectl delete job job-retry

Пояснення: очищення ресурсів і логів.



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

Завдання: опиши, для яких задач ти би використовував job, а не deployment.