Предоставление служб OpenShift внешнему домену с помощью Ingress Controller

У меня есть кластер OpenShift, настроенный с контроллером Ingress по умолчанию для внутреннего домена, скажем, app.internal.com. Мне нужно предоставить определенные сервисы доступу в Интернет и получить к ним доступ через Ingress с существующим внешним доменом, например, app.external.com/api/....

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

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

Спасибо заранее за вашу помощь!

1 ответ

Этот процесс использования нескольких разных маршрутизаторов (входящих контроллеров) называется совместным использованием входящего трафика или совместным использованием маршрутизатора. Существует несколько методов определения того, какие маршруты идут к какому IngressController, например сопоставление меток или сопоставление пространств имен.

Подробности смотрите в документации: https://docs.openshift.com/container-platform/4.12/networking/ingress-sharding.html .

Но вот один пример прямо из документации для сопоставления селектора меток:

      apiVersion: v1
items:
- apiVersion: operator.openshift.io/v1
  kind: IngressController
  metadata:
    name: dev-router
    namespace: openshift-ingress-operator
  spec:
    namespaceSelector:
      matchLabels:
        name: dev
Другие вопросы по тегам