Какие пробы (probes) есть в Kubernetes? Чем отличаются?
Answer from AI
sobes.tech AI
В Kubernetes есть три основных типа проб (probes), которые используются для проверки состояния контейнеров:
-
Liveness Probe — проверяет, жив ли контейнер. Если проверка не проходит, kubelet перезапускает контейнер. Это помогает обнаружить ситуации, когда приложение зависло или находится в некорректном состоянии.
-
Readiness Probe — проверяет, готов ли контейнер принимать трафик. Если проверка не проходит, контейнер временно исключается из сервисов (Endpoints), чтобы на него не шли запросы.
-
Startup Probe — используется для проверки успешного запуска приложения. Если приложение долго стартует, эта проба позволяет не считать контейнер упавшим до завершения старта. После успешного прохождения Startup Probe, начинают работать liveness и readiness.
Отличия:
- Liveness отвечает за перезапуск контейнера при сбое.
- Readiness отвечает за доступность контейнера для обработки запросов.
- Startup помогает корректно обрабатывать длительный старт приложения, предотвращая преждевременный перезапуск.
Пример liveness probe в манифесте:
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 15
periodSeconds: 20
Это проверит HTTP эндпоинт /healthz каждые 20 секунд, начиная через 15 секунд после запуска контейнера.