kind: VirtualService apiVersion: networking.istio.io/v1alpha3 metadata: name: a-set-of-routing-rules-we-can-call-this-anything # "just" a name for this virtualservice namespace: default spec: hosts: - fleetman-staff-service.default.svc.cluster.local # The Service DNS (ie the regular K8S Service) name that we're applying routing rules to. http: - route: - destination: host: fleetman-staff-service.default.svc.cluster.local # The Target DNS name subset: safe-group # The name defined in the DestinationRule weight: 70 - destination: host: fleetman-staff-service.default.svc.cluster.local # The Target DNS name subset: risky-group # The name defined in the DestinationRule weight: 30 --- kind: DestinationRule # Defining which pods should be part of each subset apiVersion: networking.istio.io/v1alpha3 metadata: name: grouping-rules-for-our-photograph-canary-release # This can be anything you like. namespace: default spec: host: fleetman-staff-service # Service subsets: - labels: # SELECTOR. version: safe # find pods with label "safe" name: safe-group - labels: version: risky name: risky-group