Перезапись входного пути Kubernetes

Я изучаю Kubernetes, используя K3S. Из-за некоторых ограничений проекта я использую вход Traefik. (Раньше я использовал вход nginx.)

Я пытаюсь развернуть несколько модулей за входом, используя подход «разветвления». Например, у меня есть контейнеры CX и CY, каждый со своими конечными точками http, определенными без префикса, например. /api, /data, / и т. д. Оба контейнера будут работать на одном хосте. Поведение kubernetes по умолчанию заключается в пересылке всего пути в контейнер, поэтому, если у меня есть CX в /CX, то, когда я пингую URL/CX, контейнер видит путь /CX, а это означает, что мне придется переопределить все пути в контейнере. быть /CX/api, /CX/data и т. д.

Когда я использовал nginx, у меня был доступ к:

ingress:
  enabled: true
  className: "nginx"
  #className: "traefik"
  annotations:
      nginx.ingress.kubernetes.io/use-regex: "true"
      nginx.ingress.kubernetes.io/rewrite-target: /$2
  hosts:
    - host:
      paths:
        - path: /postgres(/|$)(.*)
          pathType: ImplementationSpecific

Что перепишет путь. У Traefik есть промежуточное программное обеспечение для этого (но его сложно заставить работать).

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

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
0
0
86
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У вас есть 2 варианта.

  1. Используйте функции входных контроллеров, чтобы переписать свой путь. в данном случае промежуточное программное обеспечение traefik.

  2. Определите новую запись DNS для каждого вашего приложения, например CX.yourdomain.com, и используйте эти адреса в качестве входящих хостов напрямую, без перезаписи пути.

Другие вопросы по теме