← До списку лабораторних по Kubernetes
Повний опис / сценарій лабораторної:
Мета: навчитися налаштовувати перевірки готовності і живучості для веб сервісу. Крок 1. Створити deployment з nginx і probes. Ідея: контейнер nginx з readinessProbe і livenessProbe типу httpGet на шлях / і порт 80. Пояснення: readiness відповідає за готовність до трафіку, liveness за перезапуск при зависанні. Крок 2. Застосувати deployment. Команда: kubectl apply -f deploy-probe.yaml Пояснення: створюється pod probe-demo. Крок 3. Перевірити pod. Команда: kubectl get pods -l app=probe-demo Пояснення: под повинен бути у статусі running, ready 1 1. Крок 4. Подивитися опис pod. Команда: kubectl describe pod <probe-demo-pod> Пояснення: знайди секцію з описом probes. Крок 5. Зламати readiness. Команда: kubectl exec -it <probe-demo-pod> -- rm -f /usr/share/nginx/html/index.html Пояснення: шлях / перестане віддавати успішний статус, readiness стане false. Крок 6. Перевірити ready. Команда: kubectl get pods -l app=probe-demo Пояснення: ready має стати 0 1, але pod не перезапускається. Крок 7. Зламати liveness. Команда: kubectl exec -it <probe-demo-pod> -- pkill nginx Пояснення: процес завершується, liveness падає, контейнер перезапускається. Крок 8. Подивитися restart count. Команда: kubectl describe pod <probe-demo-pod> | grep Restart Пояснення: бачиш збільшення кількості перезапусків. Крок 9. Відновити нормальний стан. Команда: kubectl rollout restart deployment/probe-demo Пояснення: створюються нові pod з правильним вмістом. Крок 10. Міні звіт. Завдання: наведи по два приклади сценаріїв для readiness і liveness.