16.3. 允许路由端点控制 Cookie 名称
OpenShift Container Platform 提供粘性会话,通过确保所有流量都到达同一端点来实现有状态应用程序流量。但是,如果端点 pod 以重启、扩展或更改配置的方式被终止,这种有状态性可能会消失。
OpenShift Container Platform 可以使用 Cookie 来配置会话持久性。路由器选择一个端点来处理任何用户请求,并为会话创建一个 Cookie。Cookie 在响应请求时返回,用户则通过会话中的下一请求发回 Cookie。Cookie 告知路由器正在处理会话,确保客户端请求使用这个 Cookie 使请求路由到同一个 pod。
您可以设置 Cookie 名称来覆盖为路由自动生成的默认名称。通过删除 Cookie,它可以强制下一请求重新选择端点。因此,如果服务器过载,它会尝试从客户端中删除请求并重新分发它们。
使用所需 Cookie 名称标注路由:
$ oc annotate route <route_name> router.openshift.io/cookie_name="<your_cookie_name>"
例如,将
my_cookie
指定为您的新 cookie 名称:$ oc annotate route my_route router.openshift.io/cookie_name="my_cookie"
保存 Cookie,再访问路由:
$ curl $my_route -k -c /tmp/my_cookie