kubernetes中的会话亲和力基于客户端会话而不是基于客户端IP

时间:2019-09-06 11:49:38

标签: kubernetes kubernetes-helm kubernetes-ingress session-affinity

我想在Kubernetes中为有状态应用实现粘性会话。我能够使用sessionAffinity: ClientIP来做到这一点,但是实际上我正在kubernetes中寻找某些东西,它可以使用cookie在客户端会话上启用会话亲缘关系。因此,如果两个会话来自同一客户端IP。它可以由两个不同的豆荚提供。

1 个答案:

答案 0 :(得分:0)

Ingress Session Affinity

Ingress请求对 Session Affinity 的支持取决于您正在使用的Ingress Controller的实现。

例如Kubernetes社区的名称,前提是Nginx Ingress Controller基于 cookies support some session affinity

  

在上面的示例中,您可以看到响应包含带有我们定义的设置的Set-Cookie标头。该cookie由NGINX创建,它包含一个随机生成的密钥,该密钥与该请求所使用的上游相对应(使用一致的哈希选择),并具有Expires指令。如果用户更改了此cookie,NGINX将创建一个新的cookie,并将用户重定向到另一个上游。