Как уменьшить время простоя входного маршрута nginx при обновлении модуля назначения? - PullRequest
1 голос
/ 02 апреля 2020

Я установил nginx ingres, который маршрутизирует трафик c для указания c развертываний на основе хоста.

host A --> Service A, host B --> Service B

Если я обновлю конфигурацию для развертывания A, это обновление завершится через менее чем за 2 секунды . Однако после этого мой nginx вход для хоста A отключается и занимает от 5 до 7 секунд , чтобы указать на Сервис A с новым модулем.

Как я могу уменьшить эту задержку? Есть ли способ ускорить производительность входа nginx, чтобы он как можно скорее указывал на новый модуль (желательно менее 3 секунд?)

Спасибо!

1 Ответ

2 голосов
/ 02 апреля 2020

Вы можете использовать аннотацию nginx.ingress.kubernetes.io/service-upstream для подавления нормального поведения конечных точек и использовать Сервис напрямую. Это обеспечивает лучшую интеграцию с некоторыми моделями развертывания, но 5-7 секунд крайне важно для входа - nginx, чтобы увидеть обновление конечных точек. Может быть короткий промежуток с того момента, когда модуль удален, и когда вход- nginx видит удаление конечной точки. Обычно это исправить с предварительно остановкой крюком, который просто спит в течение нескольких секунд, чтобы убедиться, к тому времени она фактически завершает работу, изменение конечной точки было обработано везде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...