Kubernetes: путь на основе работает только с root - PullRequest
0 голосов
/ 06 июня 2019

У меня есть кластер EKS, и в настоящее время я использую маршрутную маршрутизацию. Ранее я публиковал эту тему, поэтому все мои настройки находятся там: Kubernetes: 502 (Bad Getaway)

Отсюда мой входной контроллер: https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.24.1/deploy/mandatory.yaml

Вот мой вход:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: simple-fanout-example
  namespace : default
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
  rules:
  - host: domain.com
    http:
      paths:
      - path: /bleble(/|$)(.*)
        backend:
          serviceName: bleble-svc
          servicePort: 8080
      - path: /hello-world
        backend:
          serviceName: hello-world-svc
          servicePort: 8080

Это работает абсолютно нормально, пока вы не попытаетесь пойти куда-либо, кроме домена domain.com/bleble или domain.com/hello-world. Службы должны ссылаться друг на друга, а запрашиваемый URI - это просто domain.com, который, очевидно, не работает, поскольку служба находится по адресу domain.com/nameoftheservice.

.

2 проблемы:

  • Имя сервиса - bleble, поэтому мы решили, что путь должен быть / bleble. Я увидел в этой документации (kubernetes.github.io/ingress-nginx/examples/rewrite), что добавление (/|$)(.*) позволит переписать. Мы хотим использовать url как domain.com/bleble/swagger или domain.com/bleble/clients, ... Но когда мы их набираем, это возвращает к тому, что было на / bleble
  • Мне нужен bleble, чтобы получить информацию из hello-world. Прямо сейчас, вместо того, чтобы переходить от domain.com/bleble к domain.com/hello-world, он переходит от domain.com/bleble к domain.com. кажется, что он может вызывать только имя хоста, а не путь.

Я попытался сделать один входной ресурс, и у меня есть nginx.ingress.kubernetes.io/app-root : /bleble, но, похоже, это не работает. Я также попробовал аннотацию nginx.ingress.kubernetes.io/rewrite-target: /coretest

Спасибо за помощь!

...