0

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

4

1 回答 1

0

入口会话关联性

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

例如,Kubernetes 社区提供的 Nginx Ingress Controller 确实支持一些基于cookie的会话亲和性

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

于 2019-11-20T18:21:18.890 回答