Откуда Kubernetes Ingress получает свой IP-адрес?

У меня есть кластер тайфуна kubernetes на aws с установленным контроллером входящего трафика nginx.

Если я добавлю тестовый входящий объект, он будет выглядеть так:

NAMESPACE   NAME   CLASS    HOSTS                ADDRESS      PORTS   AGE
default     foo    <none>   *                    10.0.8.180   80      143m

Вопрос: откуда мой контроллер входящего трафика получает этот адрес (10.0.8.180)?

В системе с этим адресом нет службы (балансировщика нагрузки). (Поскольку это частный адрес, external-dns работает некорректно.)


person michas    schedule 01.07.2020    source источник
comment
Похоже, это IP-адрес узла. - Еще вопрос. Почему он принимает адрес узла вместо NLB?   -  person michas    schedule 01.07.2020


Ответы (1)


Чтобы ответить на ваш первый вопрос:

Откуда Kubernetes Ingress получает свой IP-адрес?

нам нужно немного углубиться в код и его поведение.

Все начинается здесь с _1 флаг:

publishSvc = flags.String("publish-service", "", 
`Service fronting the Ingress controller 
Takes the form "namespace/name". When used together with update-status, the
controller mirrors the address of this service's endpoints to the load-balancer
status of all Ingress objects it satisfies.`)

Переменная флага (publishSvc) позже будет

person acid_fuji    schedule 02.07.2020