flagger
flagger copied to clipboard
How to configure canary for multiple virtual services?
In our use case, HTTP traffic is allowed through ingress-gateway and the internal service to service communication is using the GRPC protocol. We are using separate VirtualService spec attached to gateway and mesh.
- Virtual service attached to the gateway use path matcher and forward the request to HTTP port.
- Virtual service attached to the mesh matches on the port and forward the request to GRPC port.
How I can configure a canary for multiple virtual services? It would be nice if we could reference a virtual service (like the deployment) in the canary manifests and only modify the destination and weight.
I can let the canary manifest to create virtual service bound to the mesh but in that case, it will not be able to update the destination weight in the virtual service (gateway related).
We are using "*" in the host spec.
I have i same problem. I use few VS of one canary release, as example: one internal name like http://internal.company.loc with path: / and external name example.com with path: /api
@stefanprodan What you think about this specific scenario?
Chose one of the two and run the canary analysis for it. I would go with the public VS being generated by Flagger, I guess a canary analysis is more valuable when using live traffic coming from end-users.
We have services that are both used from inside a cluster and from outside and we do want to know during the canary if the internal traffic would have issues
Ingress -> SvcA
SvcB -> SvcA
and we want to canary both