【发布时间】:2026-01-10 06:45:02
【问题描述】:
这里是kubernetes新手,所以这个问题可能没有意义并提前道歉。请多多包涵。
据我了解,入口控制器直接与 pod 通信。原因之一是它与用户 cookie 和会话与将它们发布给用户的 pod 保持关联。
但是当 pod 死掉时,那些 cookie 和会话也会死掉吗?所以用户前。例如,将不得不重新登录。对吗?
提前致谢。
【问题讨论】:
标签: kubernetes kubernetes-ingress
这里是kubernetes新手,所以这个问题可能没有意义并提前道歉。请多多包涵。
据我了解,入口控制器直接与 pod 通信。原因之一是它与用户 cookie 和会话与将它们发布给用户的 pod 保持关联。
但是当 pod 死掉时,那些 cookie 和会话也会死掉吗?所以用户前。例如,将不得不重新登录。对吗?
提前致谢。
【问题讨论】:
标签: kubernetes kubernetes-ingress
来自docs。
当后端服务器被移除时,请求被重新路由到 另一个上游服务器。这不需要 cookie 是 更新,因为密钥的一致哈希会改变。
假设您有多个 Pod 副本(通过部署/复制控制器),这意味着如果其中一个副本 Pod 死了,kubernetes 会将其从服务的端点列表中删除,因此 nginx 中的 Lua 平衡器从上游服务器列表中删除该端点,这意味着一致的哈希环被重建,请求将被重新路由到其他保持相同会话 cookie 的副本 pod。
用户是否需要重新登录取决于应用程序如何存储或使用cookie来决定用户是否登录。
【讨论】:
入口控制器没有存储与用户会话或 cookie 相关的状态。如果您的 pod 没有为传入会话标识符在某处持久化状态,而只是持久化到本地磁盘或内存,那么当 pod 重新启动时,您将丢失该状态。同样,如果您的工作负载扩展到超过 1 个副本,并且您的会话仅持久化到磁盘或内存,那么当请求被路由到另一个副本时,会话将不存在。
【讨论】: