我想在Kubernetes中为有状态应用实现粘性会话。我能够使用sessionAffinity: ClientIP
来做到这一点,但是实际上我正在kubernetes中寻找某些东西,它可以使用cookie在客户端会话上启用会话亲缘关系。因此,如果两个会话来自同一客户端IP。它可以由两个不同的豆荚提供。
答案 0 :(得分:0)
Ingress请求对 Session Affinity 的支持取决于您正在使用的Ingress Controller的实现。
例如Kubernetes社区的名称,前提是Nginx Ingress Controller基于 cookies 来support some session affinity。
在上面的示例中,您可以看到响应包含带有我们定义的设置的Set-Cookie标头。该cookie由NGINX创建,它包含一个随机生成的密钥,该密钥与该请求所使用的上游相对应(使用一致的哈希选择),并具有Expires指令。如果用户更改了此cookie,NGINX将创建一个新的cookie,并将用户重定向到另一个上游。