Механизм readiness gate в Kubernetes позволяет определять собственные условия готовности пода (Pod), которые обычно устанавливают внешние контроллеры или компоненты. 4
Обычно готовность Pod определяется только готовностью всех контейнеров в нём: если все контейнеры готовы, то и весь Pod готов. 2 Но с помощью readiness gate можно реализовать более сложные проверки готовности. 2
Пример использования: приложение зависит от внешней системы (например, базы данных, синхронизации конфигураций), которую Kubernetes не может проверить с помощью обычного теста готовности. 4 В таком случае пользовательский контроллер может установить условие в статусе Pod, когда всё будет готово. 4
Обновление этого условия возможно через API Kubernetes с помощью контроллера или пользовательской логики. 4
Таким образом, readiness gate помогает обеспечить полную подготовку пода перед добавлением его в балансировщик нагрузки. 4