I have the Http web application which has the following architecture
Browser -> Classic Load Balancer aws -> Kubernetes Pods (3 pods spanned for Http application) -> In each pod the application is deployed using Jboss web server.
Help Needed : Why the request from the browser goes to the same pod in the kubernetes?
When I open the developer console and delete the JsessionId cookie then the request goes to the next available pod.
Any help on this is appreciated.
Analysis done so far:
-
Sticky Session is disabled in the CLB (so I assume that CLB is not redirecting the request to the same pod). Also I could confirm the ‘AppCookieStickinessPolicies’ & ‘LBCookieStickinessPolicies’ is set to empty.
-
Sticky session is not configured in the Routes / Services
-
No Ingress configuration is used in the Kubernetes
-
Session Affinity is not configured in the Kubernetes services, It is set as None (Session Affinity: None)
-
Http Connection Persistent is disabled, Confirmed the same in the developer console where the ‘connection:keep alive’ is not available in the header
Session Affinity is set to no-affinity in the jboss standalone-xml under – urn:jboss:domain:distributable-web:2.0
<subsystem xmlns="urn:jboss:domain:distributable-web:2.0" default-session-management="default" default-single-sign-on-management="default">
<infinispan-session-management name="default" cache-container="web" granularity="SESSION">
<no-affinity/>
</infinispan-session-management>
<infinispan-single-sign-on-management name="default" cache-container="web" cache="sso"/>
<infinispan-routing cache-container="web" cache="routing"/>
</subsystem>