Есть ли вообще возможность создавать эти объекты 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
и как это работает.