Hi All,
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 ;(