ingress-nginx: Sticky sessions not working in version 1.0.2 k8s 1.21.2

Controller version 1.0.2

Kubernetes version (use kubectl version): 1.21.2

Environment:

  • AKS

  • Ubuntu-20.04, Ubuntu-20.04, Ubuntu 18.04.5, windows-2022

  • Install tools: Helm, azdo.

  • Basic cluster related info: -Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.5", GitCommit:"6b1d87acf3c8253c123756b9e61dac642678305f", GitTreeState:"clean", BuildDate:"2021-03-18T01:10:43Z", GoVersion:"go1.15.8", Compiler:"gc", Platform:"windows/amd64"} Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.2", GitCommit:"0b17c6315e806a66d507e77760a5d60ab5cccfd8", GitTreeState:"clean", BuildDate:"2021-08-30T01:42:22Z", GoVersion:"go1.16.5", Compiler:"gc", Platform:"linux/amd64"}

    • aks-etl-37541519-vmss000000 Ready agent 52d v1.21.2 10.240.0.10 <none> Ubuntu 18.04.5 LTS 5.4.0-1055-azure containerd://1.4.8+azure aks-nodepool1-37541519-vmss000000 Ready agent 52d v1.21.2 10.240.0.4 <none> Ubuntu 18.04.5 LTS 5.4.0-1055-azure containerd://1.4.8+azure aks-nodepool1-37541519-vmss000001 Ready agent 52d v1.21.2 10.240.0.5 <none> Ubuntu 18.04.5 LTS 5.4.0-1055-azure containerd://1.4.8+azure aks-nodepool1-37541519-vmss000002 Ready agent 52d v1.21.2 10.240.0.6 <none> Ubuntu 18.04.5 LTS 5.4.0-1055-azure containerd://1.4.8+azure aks-pentaho-37541519-vmss000000 Ready agent 52d v1.21.2 10.240.0.7 <none> Ubuntu 18.04.5 LTS 5.4.0-1055-azure containerd://1.4.8+azure aks-pentaho-37541519-vmss000001 Ready agent 52d v1.21.2 10.240.0.8 <none> Ubuntu 18.04.5 LTS 5.4.0-1055-azure containerd://1.4.8+azure
  • How was the ingress-nginx-controller installed:

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx helm repo update

helm upgrade analytics-ingress-controller ingress-nginx/ingress-nginx --install --set controller.service.loadBalancerIP=$(nginx-loadbalancerIP),controller.service.externalTrafficPolicy=Local,controller.service.sessionAffinity=ClientIP,rbac.create=true,controller.nodeSelector.agentpool=pentaho

  • Current State of the controller:
    • analytics-ingress-controller default 1 2021-09-23 10:55:29.225793 -0700 PDT deployed nginx-ingress-0.10.1 1.12.1 analytics-pentaho default 3 2021-09-20 18:22:58.171317703 +0000 UTC deployed pentaho-0.1.0 1.0 cert-manager cert-manager 4 2021-09-20 22:39:46.007305856 +0000 UTC failed cert-manager-v1.5.2 v1.5.2 selfservice default 13 2021-05-27 16:23:59.664456451 +0000 UTC deployed selfservice-0.1.0 1.0 va-connect default 1 2021-01-13 18:46:02.776719135 +0000 UTC deployed va-kafka-connect-0.1.0 1.0

Reverted to older version of ingress controller that works with sticky sessions

  • Others:

This is the ingress definition:

`apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: pentaho-ingress annotations:
nginx.ingress.kubernetes.io/affinity: cookie nginx.ingress.kubernetes.io/affinity-mode: persistent nginx.ingress.kubernetes.io/client-body-buffer-size: 10M nginx.ingress.kubernetes.io/proxy-body-size: 25M nginx.ingress.kubernetes.io/proxy-read-timeout: “600” nginx.ingress.kubernetes.io/proxy-send-timeout: “600” nginx.ingress.kubernetes.io/session-cookie-name: INGRESSCOOKIE nginx.ingress.kubernetes.io/session-cookie-path: / nginx.ingress.kubernetes.io/session-cookie-samesite: None cert-manager.io/cluster-issuer: letsencrypt-prod spec: ingressClassName: nginx tls:

  • hosts:
    • <redacted>
    secretName: <redacted> rules:
  • host: <redacted> http: paths:
    • backend: service: name: selfservice port: number: 80 path: /pentaho/session pathType: Prefix
    • backend: service: name: analytics-pentaho port: number: 80 path: /pentaho pathType: Prefix
    • backend: service: name: selfservice port: number: 80 path: / pathType: Prefix`

What happened:

After installing controller version 1.0.2 sticky sessions no longer functioned. Reverting to the old “stable” release fixes the issue.

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 26 (22 by maintainers)

Most upvoted comments

@theunrealgeek you may be able to solve this. If I am not wrong, there was a sticky-session related commit, after the release of v1.x.x. I will check