Как отобразить запросы на несколько портов в модуле в Openshift v3? - PullRequest
0 голосов
/ 10 мая 2018

У меня есть веб-приложение, которое выполняет запросы http и ws. Я пытаюсь развернуть его в Openshift v3. Следовательно, мне нужно, чтобы мои запросы отображались на порты 80 и 90 в модуле. Тем не менее:

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

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

  1. Я не могу использовать разные маршруты для http и ws, потому что файл cookie сеанса, полученный для http, не будет прикреплен к запросам веб-сокетов.

Решения (?):

  • В связанной теме предлагается Ingress Controller, но кажется, что он может быть установлен только администратором кластера.
  • Я мог бы использовать два маршрута и установить отдельный файл cookie для каждого маршрута, но это кажется неправильным - почему я должен использовать 2 файла cookie для 2 доменов, когда, по сути, существует один домен с одной аутентификацией?
  • Переключиться на аутентификацию токена?

Итак, что мне не хватает? Каков оптимальный способ справиться с этим?

1 Ответ

0 голосов
/ 10 мая 2018

Если какие-либо конечные точки веб-сокета находятся под уникальным путем суб-URL, вы можете добавить второй маршрут, в котором есть определение пути для пути суб-URL, к которому применяется маршрут. После этого вы можете направлять запросы по этому пути URL-адреса на альтернативный порт. Вам понадобится определить альтернативный порт службы в дополнение к основному порту или создать отдельную службу для альтернативного порта. Нужно было бы увидеть ваше текущее определение сервиса, чтобы быть более конкретным. Странно, что вы будете использовать порты 80 и 90 на модуле, поскольку это будет означать, что вы запускаете контейнер как root, что не является обычной практикой в ​​OpenShift из-за рисков безопасности при запуске любого контейнера как root на платформа для размещения контейнеров.

...