Когда внутри пода один из контейнеров становится готовым (проходит свои readinessProbe
), но другие контейнеры ещё не готовы (не прошли свои пробы), под в целом не считается готовым. В Kubernetes состояние пода определяется на основе состояния всех его контейнеров, особенно тех, у которых определены readinessProbe
.
Технически Kubernetes работает следующим образом:
Под считается готовым только тогда, когда все контейнеры внутри него, у которых определены readinessProbe
, успешно проходят свои проверки.
Сервисы (Service
) в Kubernetes направляют трафик только на те поды, которые находятся в состоянии "Ready" (готовы).
Если хотя бы один контейнер в поде с readinessProbe
не прошёл проверку и не готов, под не будет получать трафик через сервис.
Как это происходит на практике:
Инициализация пода:
Проверка готовности контейнеров:
readinessProbe
Kubernetes периодически выполняет проверки.readinessProbe
считаются готовыми сразу после запуска.Определение состояния пода:
readinessProbe
находятся в состоянии "Ready".Маршрутизация трафика через сервис: