I have done setup with Istio for canary deployment approach. By following link Istio / Canary Deployments using Istio I have created VirtualService and DestinationRule. Below is kubernates yaml file. Expectation was if I pass header “testing=uat” it should call v2 service and rest all time V1 service but in response I can see its happening randomly and not dependent on header.
--- kind: Service apiVersion: v1 metadata: name: msr namespace: test labels: app: msr spec: type: ClusterIP ports: - name: http-is port: 5555 selector: app: msr apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: msr-vs namespace: test spec: hosts: - msr http: - match: - headers: testing: exact: uat route: - destination: host: msr subset: v2 - route: - destination: host: msr subset: v1
apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata: name: msr-dr namespace: test spec: host: msr subsets: - name: v1 labels: version: v1 - name: v2 labels: version: v2
Please help what exactly I can check. On deployed pod I can see it is showing as 2/2 with one container as “istio-proxy”