首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Service Local 转发会把 CLB 健康后端掏空,该如何取舍?

问Service Local 转发会把 CLB 健康后端掏空,该如何取舍?

提问于 2026-11-12 16:12:20
回答 0关注 0查看 10

场景:TKE 标准集群,Kubernetes 1.32。TCP 长连接,端口 9000,非 HTTP,要在 Pod 里拿客户端源 IP。Service 为 type: LoadBalancer、externalTrafficPolicy: Local,未开直连 Pod,CLB 后端是节点 NodePort。副本 3,经常两个 Pod 挤在同一节点。

现象:

  1. 没有本地 Pod 的节点健康检查不通过,只有带着 Pod 的节点是健康后端。两 Pod 同节点时,与单 Pod 节点权重相同,单 Pod 节点连接数和 CPU 更高。
  2. 排水后 Pod 漂到另一节点。节点本来就在后端列表里:旧节点 Pod 一走就检查失败,新节点要等检查通过才健康。副本少、漂移快时健康后端会变成 0,新连接失败,过后恢复。此时 Endpoints 和 Ready 已正常,集群内 NodePort 也通;已建连接不受影响。
  3. cordon 后节点仍是 Unschedulable,并留在后端里,要等 Pod 被驱逐、检查失败才摘。NotReady 节点不在列表里。

已尝试:

  1. 加了 Pod 反亲和,打偏减轻,排水时健康后端变 0 还在。
  2. 副本从 3 加到 6,空窗少一些,权重仍按节点而不是按 Pod 数。
  3. 开了四层会话保持。空窗里新连接仍失败,设备还会粘在将下线的节点上。
  4. 查了安全组,只有健康后端为 0 时从 CLB 进来的新连接才失败。

问题:

  1. 四层要保留源 IP,Local 还能不能放生产?若继续用,怎样约束后端绑定,才不会在漂移时把健康后端掏空?
  2. 节点上 Pod 数不同,权重却相同。能否按该节点 Pod 数分配,改完如何核对控制台上的实际权重?
  3. 这段空窗除了客户端重连,绑定策略上能不能消掉?该盯 CLB 哪项监控,而不是只看 Pod Ready?

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档