在云厂商上部署的 ALB 负载均衡可以直连 POD

实现方式分析

传统 NodePort 方式问题分析

通常会使用 CLB 直接绑定 NodePort 此方式来创建云上 Ingress 或 LB 类型的 Service,但此传统 NodePort 实现方式会存在以下问题:

流量从 CLB 转发到 NodePort 后还需进行 SNAT 再转发到 Pod,造成额外的性能损耗。

如果流量过于集中到某几个 NodePort 时(例如,使用 nodeSelector 部署网关到固定几台节点上),可能导致源端口耗尽或 conntrack 插入冲突。

NodePort 本身也充当负载均衡器,CLB 绑定过多节点 NodePort 时可能导致负载均衡状态过于分散,导致全局负载不均。

image.png

CLB 直连 Pod 方式优势

使用 CLB 直连 Pod 的方式不但不会存在传统 NodePort 方式的问题,还具备以下优势:

由于没有 SNAT,获取源 IP 不再需要 externalTrafficPolicy: Local

实现会话保持更简单,仅需让 CLB 开启会话保持即可,不需要设置 Service 的 sessionAffinity

image.png

容器服务 在 TKE 上使用负载均衡直连 Pod_腾讯云