Маршрутизация трафика c за пределы Кубернетеса с использованием Traefik Ingress Controller - PullRequest
0 голосов
/ 28 апреля 2020

Я использую Traefik в качестве входного контроллера для моего кластера Kubernetes. Он работает нормально, и, как и ожидалось, для всех вариантов использования, кроме одного.

У меня есть несколько служб / приложений, все из которых работают по одному и тому же URL / хосту, но по другому пути.
До теперь все приложения были развернуты на виртуальных машинах EC2 за ALB, а правила маршрутизации были написаны на ALB.

Теперь я перенес некоторые приложения в Kubernetes, а некоторые все еще развернуты за ALB. Я хочу, чтобы весь трафик c обслуживался только через traefik, а traefik должен направлять приложения внутри Kubernetes и за его пределами на основе правил пути.

Я хочу указать свой URL на traefik, и у меня есть что-то вроде правила (такое, что я могу определить один восходящий поток как URL):

spec:
  rules:
  - host: my.url.com
    http:
      paths:
      - backend:
          serviceName: abc-service
          servicePort: tcp-80
        path: /abc
      - backend:
          serviceName: xyz-service
          servicePort: tcp-80
        path: /xyz
      - backend:
          serviceName: 12345-alb-url.ap-south-1.elb.amazonaws.com ##I am not sure what the key will be
          servicePort: tcp-80
        path: /123

Возможно ли это с traefik? Я попытался выполнить поиск в документах traefik и в Google, но не смог найти подходящего решения.

1 Ответ

1 голос
/ 30 апреля 2020

Вы можете создать Службу типа ExternalName для служб, развернутых вне кластера, и пересылать трафик c в Службу на входе. См. Тип ExternalName .

...