K8s: Несколько правил входа nginx-ingress-controller в GKE - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть правило перехвата всех входов для домена *.foo.com, а затем у меня есть одно конкретное правило для домена a.foo.com. Согласно документации, правило входа для a.foo.com должно иметь приоритет над правилом с подстановочным знаком (потому что оно лучше, чем подстановочный знак). Однако этого не происходит. Как мне установить приоритеты явно? Что я делаю не так?

Вот мое общее правило входа:

$ kubectl describe ing foo
Name:             foo
Namespace:        foo
Address:          x.x.x.x
Default backend:  default-http-backend:80 (x.x.x.x:8080)
TLS:
  foo.com terminates *.foo.com
Rules:
  Host             Path  Backends
  ----             ----  --------
  *.foo.com
                   /   foo:8888 (<none>)

Вот правило для конкретного домена:

$ kubectl describe ing foo-a
Name:             foo-a
Namespace:        foo
Address:          x.x.x.x
Default backend:  default-http-backend:80 (x.x.x.x:8080)
TLS:
  foo.com terminates a.foo.com
Rules:
  Host                                Path  Backends
  ----                                ----  --------
  a.foo.com
                                      /hello   foo-a:8080 (<none>)

1 Ответ

1 голос
/ 03 апреля 2019

Вам нужно будет настроить каждый из ваших контроллеров nginx-ingress на различное имя ingress-class. Затем в своем определении входа вы должны указать kubernetes.io/ingress.class: "my-ingress", чтобы указать на контроллер входа, который вы хотите использовать для этого конкретного входа.

Детали настройки включены в [nginx-ingress docs]. (https://kubernetes.github.io/ingress-nginx/user-guide/multiple-ingress/)

Надеюсь, это поможет!

...