написать правило входа для приложения, работающего с корневым контекстом

У меня есть веб-приложение и соответствующая серверная служба, развернутые в k8s. Они представлены через службы следующим образом:

  1. Веб-приложение - ›http://1.2.3.4:8080/webapp/login
  2. Бэкэнд - ›http://5.6.7.8:8081/backend-service/login

Я настроил входящий ресурс для этой службы, но оказалось, что входной контроллер NGINX пропускает корневую часть контекста при переписывании URL-адреса, что делает мою службу недоступной, когда я развертываю ее через вход. Ниже мой входной ресурс:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  namespace: default
  name: gateway-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$1
    nginx.ingress.kubernetes.io/use-regex: true
spec:
  rules:
    - http:
        paths:
          - path: /webapp/*
            backend:
              serviceName: webapp-service
              servicePort: 8080
          - path: /backend-service/*
            backend:
              serviceName: backend-service
              servicePort: 8081


**Output of : kubectl describe ingress gateway-ingress**

Name:             gateway-ingress
Namespace:        default
Address:          test.elb.us-east-2.amazonaws.com
Default backend:  default-http-backend:80 (<none>)
Rules:
  Host  Path  Backends
  ----  ----  --------
  *     
        /webapp/*                 webapp-service:8080 (1.2.3.4:8080)
        /backend-service/*        backend-service:8081 (5.6.7.8:8081)

Поэтому, когда я открываю свое приложение с помощью http://test.elb.us-east-2.amazonaws.com/webapp/login. Я получаю сообщение 404: не найдено. Как правильно настроить входящий ресурс?


person Prerak Tiwari    schedule 25.09.2020    source источник
comment
Просто удалите аннотацию rewrite-target.   -  person Mafor    schedule 25.09.2020
comment
@Mafor спасибо за указатель ... Я удалил rewrite-target и '/ *' из пути, и он работал отлично. Добавьте это как ответ, и я приму это.   -  person Prerak Tiwari    schedule 25.09.2020


Ответы (1)


Удаление контекста приложения вызвано rewrite-target аннотация. Просто удалите его, если он не нужен.

person Mafor    schedule 25.09.2020