在AWS EKS上,我有ALB入口控制器,入口资源指向目标端口80上端口32509上的NodePort服务,目标端口80上有externalTrafficPolicy: Local
。
在这种情况下,外部流量如何在NodePort服务下路由到我的Pod?
诸如ALB>随机节点kube-proxy>节点端口32509(?)> Pod端口80之类的东西
编辑:kube-proxy在iptables模式下工作。
答案 0 :(得分:2)
NodePort服务基于ClusterIP构建。但是,如果externalTrafficPolicy
是本地的,则到达节点的流量仅转发到该节点上的Pod。因此,您的流量路由方式必须是这样的:
ALB -> random node on port 32509 -> random pod on this node on port 80
问题是,如果在此特定节点上没有NodePort服务的容器,则请求将被丢弃。 here对此进行了详细说明。