У меня есть кластер Kubernetes с двумя развернутыми сервисами: SvcA и SvcB - оба в сетке сервисов.
SvcA поддерживается одним Pod, SvcA_P1.Приложение в SvcA_P1 предоставляет HTTP-хук PreStop.При выполнении команды «kubectl сток» на узле, где находится SvcA_P1, Pod переходит в состояние «завершения» и остается в этом состоянии до тех пор, пока приложение не завершит свою работу (запрос на возврат не возвращается, и Kubernetes удаляет модуль).Работа для SvcA_P1 включает в себя выполнение текущих диалоговых (принадлежащих установленным сеансам) HTTP-запросов / ответов.Он может оставаться в состоянии «завершения» в течение нескольких часов, прежде чем завершится.
Когда Pod входит в фазу «завершения», появляется коляска Istio для удаления SvcA_P1 из пула.Запросы, отправленные SvcA_P1, например, из SvcB_P1, отклоняются с «нет работоспособного восходящего потока».
Есть ли способ настроить Istio / Envoy на:
- Продолжить отправку трафика / сеансовс привязкой к SvcA_P1 в состоянии «завершения»?
- Отклонять трафик без привязки сеанса к SvcA_P1 (без JSESSIONID, файлов cookie или специальных заголовков HTTP)?
Я играл сПравила назначения, изменяющие trafficPolicy.loadBalancer.consistentHash.[httpHeaderName|httpCookie]
без удачи.Как только Посланник удаляет вышестоящий сервер, новое место назначения повторно хэшируется с использованием сокращенного набора серверов.
Спасибо,
Thor