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

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

Kubernetes Лабораторна 59: Аналіз CrashLoopBackOff pod

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

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

Тема: Трасування проблем CrashLoopBackOff

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

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



Крок 1. Створити pod який навмисно падає.

Команда: kubectl run crash-demo --image=busybox --restart=Never -- sh -c "echo start; sleep 2; exit 1"

Пояснення: pod завершиться з кодом помилки.



Крок 2. Перевірити статус pod.

Команда: kubectl get pod crash-demo

Пояснення: под буде у стані Error або Completed оскільки restartPolicy Never.



Крок 3. Створити deployment з помилковим стартом.

Yaml: контейнер який одразу завершується з кодом 1, restartPolicy для pod залишаємо стандартною.

Пояснення: pod такого deployment будуть входити у CrashLoopBackOff.



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

Команда: kubectl apply -f deploy-crash.yaml

Пояснення: через деякий час pod перейдуть у стан CrashLoopBackOff.



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

Команда: kubectl logs <crash-pod-name> --previous

Пояснення: параметр previous дозволяє побачити логи попереднього запуску контейнера.



Крок 6. Переглянути describe pod.

Команда: kubectl describe pod <crash-pod-name>

Пояснення: події у кінці виводу часто містять причину падіння.



Крок 7. Змінити команду контейнера щоб виправити помилку.

Пояснення: наприклад замінити exit 1 на нескінченний цикл з обробкою запитів.



Крок 8. Оновити deployment і спостерігати перехід у Running.

Команда: kubectl apply -f deploy-crash.yaml

Пояснення: pod мають перестати перезапускатися.



Крок 9. Задокументувати кроки розслідування.

Пояснення: запиши послідовність дій get describe logs exec яку ти застосовував.



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

Завдання: опиши шаблон дій який ти використовуватимеш при будь якому CrashLoopBackOff інциденті.