Невозможно добавить несколько Ingresses с одним хостом на nginx -ingress - PullRequest
0 голосов
/ 09 января 2020

Я пытаюсь добавить несколько Ingresses, которые должны иметь один и тот же хост. Один вход должен обрабатывать запросы к www.example.de/some, а другой - все остальные запросы.

Вот фрагмент конфигурации Ingress

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: some-ingress
  annotations:
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
  - host: "www.example.de"
    http:
      paths:
      - path: "/some"
        backend:
          serviceName: some-svc
          servicePort: 8585

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: other-ingress
  annotations:
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
  - host: "www.example.de"
    http:
      paths:
      - backend:
          serviceName: other-svc
          servicePort: 8080

В качестве входного контроллера Я установил nginx-stable/nginx-ingress через Шлем

helm install my-ingress nginx-stable/nginx-ingress

При попытке создать два Ингресса сверху только один работает при попытке доступа к www.example.de (это сопоставлено с 127.0.0.1 в моем / etc / hosts).

В журнале входа nginx отображаются следующие предупреждения:

2020/01/08 09:33:51 [warn] 560 # 560: конфликтует имя сервера "www.example.de" на 0.0.0.0:80, игнорируется

2020/01/08 09:33:51 [warn] 560 # 560: конфликтующее имя сервера "www.example.de" на 0.0.0.0 : 443, игнорируется

1 Ответ

1 голос
/ 09 января 2020

Оказывается, я использовал неправильный nginx-ingress контроллер. Контроллер nginxinc/kubernetes-ingress не поддерживает объединение правил входа с одним и тем же хостом (только через Объединяемые входы ).

Вместо kubernetes/ingress-nginx должен быть использован. Различия между этими контроллерами перечислены здесь .

Удаление старого контроллера и установка kubernetes/ingress-nginx вместо использования следующей команды устранили проблему.

helm install my-nginx stable/nginx-ingress

См. https://kubernetes.github.io/ingress-nginx/deploy/#using -helm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...