首页/云/Kubernetes 速查/Service 会话保持 sessionAffinity
网络与服务55 条

Service 会话保持 sessionAffinity

把同一客户端 IP 的请求尽量固定到同一后端 Pod:ClientIP 模式配合超时时间使用,适用于有本地会话状态的旧应用。

Kubernetes 速查云更新于 2026-10-12

配置

配置
spec:
  sessionAffinity: ClientIP
  sessionAffinityConfig:
    clientIP:
      timeoutSeconds: 10800    # 默认 3 小时

查看

查看
kubectl get svc web -o jsonpath='{.spec.sessionAffinity} {.spec.sessionAffinityConfig.clientIP.timeoutSeconds}'
基于源 IP 的粗糙粘性:NAT 后大量客户端共享一个出口 IP 时会集中到同后端,需评估。

易错点

  • 会话保持不解决「同一会话跨连接」问题之外的一致性,应用尽量无状态化
  • kube-proxy 实现下超时到期即重新均衡,长连接行为与预期可能不同

数据来源与参考

  • Kubernetes 官方文档 · Service(Session Affinity)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌