We have a service that runs on 3 to 5 pods that connect to a database. Every time the user enters the domain, and once logged in, shortly, we are forced to reload and go back to the login screen. It does not happen with 1 pod. Without multiple pods, it tries to go to another pod once after login and goes back to login screen.
We have a simple Gateway > VirtualService > DestinationRule setup for this application
apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
name: our-gateway
spec:
selector:
istio: ingressapp
servers:
- hosts:
- app.com
port:
name: http
number: 80
protocol: HTTP
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: our-virtualservice
spec:
gateways:
- our-gateway
hosts:
- app.com
http:
- match:
- uri:
prefix: /
route:
- destination:
host: app
port:
number: 8080
apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:
name: destinationrule
spec:
host: app.com
trafficPolicy:
loadBalancer:
consistentHash:
useSourceIp: true
tls:
mode: ISTIO_MUTUAL
This stickiness does not work. I had also tried:
consistentHash:
httpCookie:
name: user
ttl: 0s
httpCookie also did not work.
What is blocking it from working? Using DestinationRule still doesn’t enable any stickiness and had no effect.