Kubernetes управление трафиком c между репликами pod разных приложений в одном кластере - PullRequest
0 голосов
/ 06 мая 2020

У меня есть keycloak и клиентское приложение на одном узле Kubernetes. У меня есть 3 модуля для keycloak и client. Могу ли я управлять трафиком c в kubernetes, чтобы запрос от клиентской реплики к keycloak всегда возвращался к той же реплике, от которой он исходит? На данный момент трафик c перенаправляется

client replica -> keyclok -> random client replica.

Я хочу получить эффект:

client replica x -> keycloak -> client replica x.

Заранее спасибо за все ответы

1 Ответ

1 голос
/ 06 мая 2020

Эта функция называется закрепленными сеансами, ее можно настроить в контроллере входа Nginx, следуя этим аннотациям:

https://kubernetes.github.io/ingress-nginx/examples/affinity/cookie/

Если у вас все развернуто в AWS и вы используете контроллер входящего трафика ALB, вы можете добиться этого с помощью аннотации липкости.

Пример моей работы в производственной среде:

alb.ingress.kubernetes.io/target-group-attributes: stickiness.enabled=true,stickiness.lb_cookie.duration_seconds=6000
...