【问题标题】:How to disable sticky sessions in Openshift3如何在 Openshift3 中禁用粘性会话
【发布时间】:2017-11-23 14:09:22
【问题描述】:

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

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

【问题讨论】:

    标签: session docker containers openshift haproxy


    【解决方案1】:

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

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

    oc annotate routes myroute haproxy.router.openshift.io/disable_cookies='true'
    

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

    oc annotate routes myroute haproxy.router.openshift.io/balance='roundrobin'
    

    设置这两个注解后,来自同一个客户端 IP 地址的请求将依次发送到每个后端,而不是一遍又一遍地发送到同一个后端。

    【讨论】:

      【解决方案2】:

      oc set env dc/router ROUTER_TCP_BALANCE_SCHEME=roundrobin 将更改 haproxy 用于它刚刚通过的路由的负载平衡算法(默认为source)。 ROUTER_LOAD_BALANCE_ALGORITHM 将为终止 TLS 的路由更改它(默认为我们 leastconn)。

      更多关于在 OCP 3.5 docs 中更改 haproxy 工作原理的内部信息。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-16
      • 2017-09-09
      • 1970-01-01
      • 2011-09-16
      • 2011-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多