flagger icon indicating copy to clipboard operation
flagger copied to clipboard

How to configure canary for multiple virtual services?

Open softcane opened this issue 5 years ago • 4 comments
trafficstars

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.

  1. Virtual service attached to the gateway use path matcher and forward the request to HTTP port.
  2. 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.

softcane avatar Apr 20 '20 12:04 softcane

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

Hryhorii-Tatsyi avatar Apr 24 '20 21:04 Hryhorii-Tatsyi

@stefanprodan What you think about this specific scenario?

softcane avatar Apr 29 '20 06:04 softcane

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.

stefanprodan avatar Apr 29 '20 07:04 stefanprodan

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

ldemailly avatar Mar 25 '22 00:03 ldemailly