如果一个 pod 死了,它发出的 cookies 和 session 也会消失吗?
If a pod die, so does the cookies and sessions it issued disappear?
这里是kubernetes新手,所以这个问题可能没有意义并提前致歉。请多多包涵。
据我了解,入口控制器直接与 pods 通信。原因之一是它与用户 cookie 和会话保持相互关系,并将它们发布给用户。
但是当 pod 消亡时,那些 cookie 和会话也会消亡吗?所以用户前。例如,将不得不重新登录。是吗?
提前致谢。
来自docs.
When the backend server is removed, the requests are re-routed to
another upstream server. This does not require the cookie to be
updated because the key's consistent hash will change.
假设您有多个 pod 副本(通过 deployment/replication 控制器),这意味着如果其中一个副本 pod 死亡,kubernetes 会将其从服务的端点列表中删除,因此Lua nginx 中的平衡器从其上游服务器列表中删除该端点,这意味着一致性哈希环得到重建并且请求将被重新路由到其他副本pods 保持相同的会话 cookie。
用户是否需要重新登录取决于应用程序如何存储或使用cookie来决定用户是否登录。
入口控制器没有存储与用户会话或 cookie 相关的状态。如果您的 pod 没有在某个地方为传入的会话标识符持久化状态,而只是持久化到本地磁盘或内存,那么当 pod 重新启动时您将丢失该状态。同样,如果您的工作负载扩展到超过 1 个副本,并且您的会话仅持久保存到磁盘或内存,那么当请求路由到另一个副本时,会话将不存在。
这里是kubernetes新手,所以这个问题可能没有意义并提前致歉。请多多包涵。
据我了解,入口控制器直接与 pods 通信。原因之一是它与用户 cookie 和会话保持相互关系,并将它们发布给用户。
但是当 pod 消亡时,那些 cookie 和会话也会消亡吗?所以用户前。例如,将不得不重新登录。是吗?
提前致谢。
来自docs.
When the backend server is removed, the requests are re-routed to another upstream server. This does not require the cookie to be updated because the key's consistent hash will change.
假设您有多个 pod 副本(通过 deployment/replication 控制器),这意味着如果其中一个副本 pod 死亡,kubernetes 会将其从服务的端点列表中删除,因此Lua nginx 中的平衡器从其上游服务器列表中删除该端点,这意味着一致性哈希环得到重建并且请求将被重新路由到其他副本pods 保持相同的会话 cookie。
用户是否需要重新登录取决于应用程序如何存储或使用cookie来决定用户是否登录。
入口控制器没有存储与用户会话或 cookie 相关的状态。如果您的 pod 没有在某个地方为传入的会话标识符持久化状态,而只是持久化到本地磁盘或内存,那么当 pod 重新启动时您将丢失该状态。同样,如果您的工作负载扩展到超过 1 个副本,并且您的会话仅持久保存到磁盘或内存,那么当请求路由到另一个副本时,会话将不存在。