在云厂商上部署的 ALB 负载均衡可以直连 POD
通常会使用 CLB 直接绑定 NodePort 此方式来创建云上 Ingress 或 LB 类型的 Service,但此传统 NodePort 实现方式会存在以下问题:
流量从 CLB 转发到 NodePort 后还需进行 SNAT 再转发到 Pod,造成额外的性能损耗。
如果流量过于集中到某几个 NodePort 时(例如,使用 nodeSelector 部署网关到固定几台节点上),可能导致源端口耗尽或 conntrack 插入冲突。
NodePort 本身也充当负载均衡器,CLB 绑定过多节点 NodePort 时可能导致负载均衡状态过于分散,导致全局负载不均。

使用 CLB 直连 Pod 的方式不但不会存在传统 NodePort 方式的问题,还具备以下优势:
由于没有 SNAT,获取源 IP 不再需要 externalTrafficPolicy: Local。
实现会话保持更简单,仅需让 CLB 开启会话保持即可,不需要设置 Service 的 sessionAffinity。
