Devoll
@Devoll
Backend-разработчик

Как правильно организовать проброс нескольких запросов от одного пользователя на один POD?

Добрый день,

Дано:
* POD с двумя TCP портами: 80 (для websocket) и 1935 (rtmp) и несколько его реплик

Задача:
* Все запросы клиента отправлять на один POD (допустим, если уже есть соединение 80, то 1935 отправлять на тот же POD). Для ясности по websocket летит информация о потоке с RTMP порта.

Вот схема организации в Kubbernetes:

5e8f2d4996dc1692781070.png

Дисклаймер: Знаю, что хранить состояние плохо при работе с k8s, но стоит именно такая задача.

P.S. Что я пытался сделать:
* Ingress Nginx поддерживает проксирование tcp, но не поддерживает (по крайней мере я не нашел как это сделать в версии 0.30) указание параметров балансировки (round-robin, hash-ip и тд) tcp.
* Рассматривал вариант с haproxy в качестве ingress, но не нашел у него в принципе поддержки tcp проксирования, т.е. предлагают поднимать Service с типом NodePort (но тогда запросы летят мимо haproxy)
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ответы на вопрос 1
@vitaly_il1
DevOps Consulting
А вы смотрели на "nginx.ingress.kubernetes.io/affinity"? (сам не пользовался)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы