Чтобы узнать, готова ли служба, вы можете проверить, существует ли объект конечной точки с именем службы и есть ли у этого объекта конечной точки IP-адреса или нет. Если IP-адреса есть, значит, служба готова. Но нет никакой гарантии, что он все равно не выйдет из строя, потому что в вашей инфраструктуре могут возникнуть проблемы с сетью.
Примитивы K8s, которые управляют модулями, такие как развертывание, учитывают только состояние модуля при принятии решений, таких как продвижение во время обновления обновления.
Например, во время обновления обновления развертывания новый модуль становится готовым. С другой стороны, служба, сетевая политика и балансировщик нагрузки еще не готовы к новому модулю по какой-либо причине (например, медленный механизм API, контроллер конечных точек, kube-proxy, iptables или программирование инфраструктуры). Это может привести к сбою в работе или потере внутренней производительности. В крайних случаях, если обновление обновлений завершается до того, как какой-либо новый модуль замены действительно начнет обслуживать трафик c, это приведет к перебоям в обслуживании.
Вот предложение по улучшению готовности модуля, которое мотивировано по вышеуказанной проблеме.