Понимание probes в Kubernetes: Liveness, Readiness и Startup
1/ Что такое probes в Kubernetes?
В Kubernetes probes используются для проверки состояния ваших контейнеров приложений.
Существует три типа:
* Liveness Probe (Проверка живости)
* Readiness Probe (Проверка готовности)
* Startup Probe (Проверка запуска)
Давайте разберёмся на аналогии с рестораном. 🧵👇
2/ Представьте ваше приложение как кухню в ресторане.
* Клиенты = Входящий трафик
* Шеф-повар = Контейнер приложения
* Официант = Kubernetes
Официанту (K8s) нужно понять:
* Жив ли шеф? (Liveness)
* Готов ли шеф принимать заказы? (Readiness)
* Завершил ли шеф подготовку? (Startup)
3/ 🍳 Liveness Probe = Жив ли шеф?
Эта проверка смотрит, функционирует ли кухня (приложение) вообще.
Если шеф теряет сознание или исчезает, официант (K8s) перезапустит кухню (контейнер).
4/ 🛎️ Readiness Probe = Готов ли шеф готовить?
Возможно, шеф проснулся, но ещё нарезает ингредиенты.
Пока шеф не готов, официант не должен принимать заказы (направлять трафик).
Если проверка не проходит, Kubernetes исключит под из балансировщика нагрузки.
5/ 🕐 Startup Probe = Завершил ли шеф настройку?
Некоторым шефам нужно больше времени, чтобы подготовиться.
Startup Probe даёт им дополнительное время перед началом остальных проверок.
Если эта проверка не проходит, K8s убьёт под, полагая, что он застрял. Полезно для медленно стартующих приложений!
6/ Итого 🧠
* Startup Probe: Приложение завершило запуск?
* Liveness Probe: Приложение всё ещё работает?
* Readiness Probe: Приложение готово обрабатывать трафик?
Используйте все три, чтобы сделать ваши развертывания в K8s максимально надёжными. 💪
#devops #девопс
Подпишись 👉 @i_DevOps