От Ingress к сервису NodePort - PullRequest
       97

От Ingress к сервису NodePort

0 голосов
/ 23 сентября 2019

В AWS EKS у меня есть ALB Ingress Controller с ресурсом Ingress, указывающим на службу NodePort на порту 32509 с targetPort 80, с externalTrafficPolicy: Local на службе.

Как в этом случае внешний трафик направляется на мои модули в службе NodePort?

Что-то вроде, ALB> случайный Node kube-proxy> Node port 32509 (?)> Pod port 80?

Редактировать: kube-proxy работает в режиме iptables.

1 Ответ

2 голосов
/ 23 сентября 2019

Сервис NodePort основан на ClusterIP.Но если externalTrafficPolicy является локальным, то трафик, поступающий на узел, перенаправляется только на модули, которые находятся на этом узле.Таким образом, способ маршрутизации вашего трафика должен быть примерно таким:

ALB -> random node on port 32509 -> random pod on this node on port 80

Проблема заключается в том, что если на этом конкретном узле нет модулей службы NodePort, то запрос отбрасывается.Это объяснено здесь подробно.

...