← До списку лабораторних по Kubernetes
Повний опис / сценарій лабораторної:
Мета: навчитися системно розбиратися з 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 інциденті.