Почему ресурсу Ingress назначаются внешние IP-адреса?

У меня кластер GKE работает с nginx-ingress контролер из сообщества Kubernetes (через Хелма). Я установил его с региональным IP-адресом, который я забронировал заранее, вот так:

helm install stable/nginx-ingress \
  --set controller.service.loadBalancerIP=my.reserved.regional.ip

Затем я добавил пару ресурсов Ingress с kubernetes.io/ingress.class: "nginx" аннотации и ничего больше, и указал им на безголовый сервис в кластере (type: ClusterIP).

Это работает нормально, и я могу получить доступ к входам на основе vhost через IP балансировщика нагрузки.

Однако мне интересно, почему ресурсам Ingress также назначается внешний IP:

==> v1beta1/Ingress
NAME           HOSTS                ADDRESS        PORTS  AGE
ingress-admin  admin.my-domain.com  35.195.255.71  80     24m
ingress-api    api.my-domain.com    35.195.255.71  80     24m

Это нормально? IP отвечает на пинг, но не обслуживает HTTP (что делает мой сервис). Что мне нужно сделать с ресурсами Ingress, чтобы избежать этого?

1 ответ

Добро пожаловать @Achton на StackExchange.

Чтобы сохранить тот же Зарезервированный статический внешний IP-адрес в ресурсах Ingress, который назначен службе LB Ingress Controller, вам необходимо установить еще один параметр конфигурации при установке контроллера nginx-ingress с диаграммой управления, это:

--set controller.publishService.enabled=true

как объяснено в документации NGINX Ingress Controller здесь

Другие вопросы по тегам