<p>I have a requirement to configure stickiness, with istio-ingress and following documentation, I have defined my gateway, virtual service and destination rules like below</p>

<pre><code>apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: app-http-gateway
spec:
  selector:
    istio: ingressgateway # use istio default controller
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - app.k8istio.test.example.com
    - app
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: app
spec:
  hosts:
  - app.k8istio.test.example.com
  gateways:
  - app-http-gateway
  http:
  - match:
    - uri:
        prefix: /
    route:
    - destination:
        host: app
        port:
          number: 8080
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: app-dr
spec:
  host: app
  trafficPolicy:
    loadBalancer:
      consistentHash:
        httpCookie:
          name: testcookie
          ttl: 0s
</code></pre>

<p>However, my request does not stick to one pod behind the service app instead it is still getting routed to both pods behind the service app in round robin.</p>

<p>Also, I expected that I will get testcookie in response header, which will be used further via client-browser to go back to the same pod however it is not happening I have also tried setting httpCookie as JSESSIONID but it did not work. </p>

<p>istioctl version
Version: 1.0.4</p>

<p>How could I achieve session sickness with istio-ingress ? </p>

Ruchir Bharadwaj
<p>The config was correct, the issue was because of silly mistake of deploying istio-gateway in default namespace then that of the service app</p>
