如何在Openshift3中禁用粘性会话

Car*_*rto 3 session containers haproxy openshift docker

如果您在Openshift3中扩展Pod,则来自同一客户端IP地址的所有请求都将发送到与会话关联的容器.

是否有任何配置可以禁用粘性会话?如何在Openshift中管理内部HAProxy的选项?

Lex*_*ick 8

对于后代,由于我遇到了同样的问题,我想记录我从Graham Dumpleton的优秀评论中使用的解决方案.

事实证明,在第一个请求期间设置了一个cookie,将后续请求重定向到同一个后端.要在每个路由的基础上禁用此行为:

oc annotate routes myroute haproxy.router.openshift.io/disable_cookies='true'
Run Code Online (Sandbox Code Playgroud)

这可以防止cookie被设置,并允许平衡算法为来自同一客户端的后续请求选择适当的后端.要更改平衡算法:

oc annotate routes myroute haproxy.router.openshift.io/balance='roundrobin'
Run Code Online (Sandbox Code Playgroud)

通过设置这两个注释,来自相同客户端IP地址的请求将依次发送到每个后端,而不是反复发送到同一个后端.