Вручную маршрутизировать трафик

#kubernetes

Вопрос:

У меня есть приложение, в котором мне иногда нужно вручную маршрутизировать трафик между блоками. У меня есть развертывание и служба, которая предоставляет миру определенный порт. Используя развертывание, я создаю 2 копии приложения, и трафик хорошо распределяется между ними, но могу ли я вручную определить, какое соединение должно быть направлено к определенному модулю? Если это имеет значение, приложения прослушивают UDP-соединение на определенном порту.

Давайте подведем итог: на данный момент у меня есть одно развертывание, которое создает 2 копии моего приложения и одну службу, которая предоставляет миру определенный порт. Я хотел бы иметь возможность вручную (с помощью скрипта или т. Д.) Маршрутизировать трафик между этими репликами. Что мне делать? Возможно ли это?

Главная цель состоит в том, что мне все еще нужно, чтобы только один порт был открыт миру, и вся магия должна быть за дверями.

Я новичок в Kubernetes, и это может быть легкой задачей, поэтому любая ссылка на документацию или прямой пример будут оценены по достоинству.

Спасибо!

Комментарии:

1. Насколько легко решить, куда идет трафик? Вероятно, для этого вам понадобятся два отдельных развертывания и две отдельные службы; потенциально вы можете настроить для этого сетку служб, такую как Istio, или реализовать свой собственный прокси-сервер, возможно, на основе Nginx или Apache или другого продукта шлюза. На высоком уровне это не похоже на то, что Кубернетес делает сам по себе.

2. @DavidMaze, вероятно, он будет основан на внешнем IP-адресе клиента, который может храниться где угодно: во внешней бд (вне кластера), redis или что-то в этом роде.

3. ? Служба сама по себе не раскрывает ваш порт миру, если вы используете тип ClusterIP. Также, пожалуйста, предоставьте немного больше деталей. То, что вы хотите сделать, определенно не похоже на лучшую практику, и мы могли бы помочь вам лучше, если бы знали, чем вы занимаетесь