Conversation
|
@yuval-k I'm having a hard time testing this, the Gloo gateway proxy is buggy, most of the time the Prometheus fails to scrape Envoy, at most one call in ten will make it: Same issue from inside the pod: I've reproduce this on several clusters, my conclusion is that the metrics endpoint returns 503 on 90% of the request. Both v0.13.27 and v0.13.28 have this issue. |
|
Weird! I'll look in to the failure in the |
|
metrics issue should be solved (it was access to admin port in general) |
|
not sure why the travis job failed - maybe because lyft/protoc-gen-validate is now envoyproxy/protoc-gen-validate? |
|
I see that you’ve changed the metrics and the tests are failing. Run |
|
good point! |
|
@yuval-k there is one more test failing: |
|
thanks for the pointer! |
|
Is it possible to add support for A/B testing with headers and cookies filters? I've seen that Gloo has this capability but not with |
|
that's a good question.. here's the trade-off: So if we want to keep this separation of concerns, we would have to add header matching to upstream group. This will take time to implement in gloo, as now we'll have one route translating to multiple envoy routes, which is not something gloo currently supports. An alternative would be to edit the VirtualService, but then there's a potential for error in understanding which route are own by flagger and which by the operator. |
|
Right! I think it makes sense to use delegation as in allow Flagger to own an object that's referenced in the main VirtualService and not operate on the VirtualService at all. |
|
I agree - I think upstream groups are the better way to go. the problem is that adding the matching to an UpstreamGroup is non-trivial, as it requires two routes on the envoy level; while the current gloo implementation maps one gloo route to one envoy route. |
stefanprodan
left a comment
There was a problem hiding this comment.
LGTM
I'll write the install docs and a short tutorial

This PR adds gloo\flagger integration.
It uses the gloo UpstreamGroup object. The advantage of using this is that the routes need only be updated in one place, and it will apply to all routes that point to that upstream group.