[jboss-jira] [JBoss JIRA] (WFWIP-249) sessionAffinity doesn't cause a requests from a same IP to be served by single endpont
Petr Kremensky (Jira)
issues at jboss.org
Mon Oct 14 08:48:00 EDT 2019
[ https://issues.jboss.org/browse/WFWIP-249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13798728#comment-13798728 ]
Petr Kremensky commented on WFWIP-249:
--------------------------------------
More info from discussion:
Martin Choma
9:35 AM
@Jean-Frederic Mesnil Just note regarding cookies. I doubt JSESSIONID cookie is relevant for OpenShift as it is platform for different languages. So what seems to me as relevant for openshift is 8695ba418ddbdc20694cde13495bd90c=78c87044937651274b32fab52794c559 from your example. I assume that is how OpenShift decide where to send the traffic by default.
But then what is sessionAffinity: ClientIP useful for?
{noformat}
If you want to make sure that connections from a particular client are passed to the same Pod each time, you can select the session affinity based
the on client’s IP addresses by setting service.spec.sessionAffinity to “ClientIP”
{noformat}
Based on this documentation I would expect when sessionAffinity: ClientIP is set only one pod will serve my requests.
> sessionAffinity doesn't cause a requests from a same IP to be served by single endpont
> --------------------------------------------------------------------------------------
>
> Key: WFWIP-249
> URL: https://issues.jboss.org/browse/WFWIP-249
> Project: WildFly WIP
> Issue Type: Bug
> Components: OpenShift
> Reporter: Petr Kremensky
> Assignee: Jeff Mesnil
> Priority: Critical
> Labels: operator
>
> It is expected, that if the {{sessionAffinity=true}}, the requests from a client with a same IP should be served by the same endpoint, using the latest upstream operator with the quickstart example:
> *sessionAffinity=false*
> {noformat}
> $ oc patch wildflyserver quickstart -p '\[{"op":"replace", "path":"/spec/sessionAffinity", "value":false}\]' --type json
> $ oc describe service/quickstart-loadbalancer | grep Session
> Session Affinity: None
> $ for i in {1..4} ; do echo `curl -s quickstart-route-wildfly.apps-crc.testing` ; done
> {"ip":"10.128.0.98"}
> {"ip":"10.128.0.99"}
> {"ip":"10.128.0.98"}
> {"ip":"10.128.0.99"}
> {noformat}
> *sessionAffinity=true*
> {noformat}
> $ oc patch wildflyserver quickstart -p '[{"op":"replace", "path":"/spec/sessionAffinity", "value":true}]' --type json
> $ oc describe service/quickstart-loadbalancer | grep Session
> Session Affinity: ClientIP
> $ for i in {1..4} ; do echo `curl -s quickstart-route-wildfly.apps-crc.testing` ; done
> {"ip":"10.128.0.98"}
> {"ip":"10.128.0.99"}
> {"ip":"10.128.0.98"}
> {"ip":"10.128.0.99"}
> {noformat}
> {{sessionAffinity=true}} should make all responses to be served by the same endpoint
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
More information about the jboss-jira
mailing list