To route a percentage of traffic between the baseline and candidate versions of a service, iter8 creates and modifies an Istio
VirtualService and a set of
DestinationRules (one for each of the baseline and canidate versions).
In some cases, a
VirtualService may already exist.
Edge services will typically require a
VirtualService to exists to route traffic to the service.
For example, when the bookinfo application (used in the Canary and A/B/n tutorials) is deployed, a
VirtualService is created to route traffic to the productpage microservice.
Iter8 can reuse an existing
VirtualService if it can identify the apporopriate one to use.
In general, iter8 cannot do so without assistance; to identify it to iter8, add the following labels to the
iter8-tools/router: IDENTIFIER iter8-tools/role: stable
If IDENTIFIER is of the form <service>.<namespace>.svc.cluster.local, nothing further is needed.
If it is not, add it to the
networking: id: IDENTIFIER