amazon-web-serviceskubernetes-ingressamazon-eksaws-application-load-balancer

AWS Load Balancer Controller on EKS - Sticky Sessions Not Working


I have deployed AWS Load Balancer Controller on AWS EKS. I have created k8s Ingress resource I am deploying java web application with k8s Deployment. I want to make sure sticky session holds to make my application work.

I have read that if I set below annotation then sticky sessions will work :

alb.ingress.kubernetes.io/target-type: ip

But I am seeing ingress is routing requests to different replica each time letting login fail as session cookies are not persisting.

What am I missing here ?


Solution

  • alb.ingress.kubernetes.io/target-type: ip is required.

    but the annotation to enable stickiness is:

    alb.ingress.kubernetes.io/target-group-attributes: stickiness.enabled=true

    Also you can set cookie_duration_settings.

    alb.ingress.kubernetes.io/target-group-attributes: stickiness.enabled=true,stickiness.lb_cookie.duration_seconds=300