I’ve recently upgraded my istio setup from 1.0.5 to 1.2.5, basically running a fresh setup.
After that my set of VirtualServices / Destination rules seems to be totally ignored.
I’ve a Kong Api gw with istio sidecar acting as a ingress and a couple of nginx labelled “version: green” and “version: blue” I want to access via a given header “nginx” (green is the live one, blue the “dark” alternative)
here is my destinationRule
kind: DestinationRule apiVersion: networking.istio.io/v1alpha3 metadata: name: nginx-service-destination namespace: staging labels: app: nginx-service profile: staging spec: host: nginx subsets: - labels: version: blue name: blue-nginx - labels: version: green name: green-nginx
and my virtual service
kind: VirtualService apiVersion: networking.istio.io/v1alpha3 metadata: name: nginx-service-vservice namespace: staging labels: app: nginx-service profile: staging spec: hosts: - nginx http: - match: - headers: nginx: exact: green name: green route: - destination: host: nginx port: number: 80 subset: green-nginx - match: - headers: nginx: exact: blue name: blue route: - destination: host: nginx subset: blue-nginx - name: default route: - destination: host: nginx subset: green-nginx
Such configuration was working perfrctly on old 1.0.g and I could drive my browser from green to blue simply adding http header “nginx: blue”.
I’ve checked 1.2.5 documentation serveral time but could’n find any significant change and validation webbok and Kiali says everything is fine.
Nevertheless my request are simply doing a roundRobin between green and blue as they where totally ignored by istio.
I’m struggling with this since three days, any hint would be appreciated ;(