Можно ли создать GKE Ingress без бэкэнда по умолчанию? - PullRequest
1 голос
/ 20 марта 2020

Документация Ingress гласит, что:

Ingress без правил отправляет весь трафик c в один бэкэнд по умолчанию. Бэкэнд по умолчанию обычно является параметром конфигурации контроллера Ingress и не указывается в ваших ресурсах Ingress.

Если ни один из хостов или путей не соответствует HTTP-запросу в объектах Ingress, трафик c маршрутизируется на ваш бэкэнд по умолчанию.

Все объекты GKE Ingress, которыми я управляю, указывают на конкретный c вид: бэкенд? Если да, каковы последствия этого?

1 Ответ

2 голосов
/ 23 марта 2020

Есть ли вообще возможность создавать эти объекты Ingress без бэкэнда по умолчанию? Если да, каковы последствия этого?

Краткий ответ: Нет , вы не можете создать Ingress, не имея в качестве последнего средства «бэкэнд по умолчанию». Бэкэнд по умолчанию является частью поведения по умолчанию kubernetes.

Это поведение объяснено в этом потоке .

Все запросы, не имеющие совпадающего бэкэнда в вашем определении Ingress, будут перенаправлены на запрос «бэкэнд по умолчанию» («) - ответ "logi c, без осиротевших запросов).

Как видно из: cluster/addons/cluster-loadbalancing/glbc/default-svc-controller.yaml

говорит, что:

    # Any image is permissible as long as:
    # 1. It serves a 404 page at /
    # 2. It serves 200 on a /healthz endpoint
    image: k8s.gcr.io/ingress-gce-404-server-with-metrics-amd64:v1.6.0

Именно поэтому вы Вы можете добавить свой собственный образ для развертывания kube-system/l7-default-backend.

Дополнительные сведения можно найти в:

  • cluster / gce / manifest / glb c .manifest
  • cluster / addons / cluster-loadbalancing / glbc / default-sv c .yaml

files.

Надеюсь, что информация проливает некоторый свет на то, почему существует default backend и как это работает.

...