-
Notifications
You must be signed in to change notification settings - Fork 674
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Failures in External services configured in envoy should be visible to the application developer #2325
Comments
In principle, I think that exposing envoy's information about clusters is a good idea. It's useful for regular services and also for special infrastructure services. |
Note to self: General envoy cluster metrics that could be used to support this feature:
upstream_cx_none_healthy is pretty interesting if we can use it to create a level-based signal. Otherwise need some more research around the membership metrics. |
This updates projectcontour#432. This updates projectcontour#2459. This updates projectcontour#2325. Signed-off-by: James Peach <jpeach@vmware.com>
This updates projectcontour#432. This updates projectcontour#2459. This updates projectcontour#2325. Signed-off-by: James Peach <jpeach@vmware.com>
This updates projectcontour#432. This updates projectcontour#2459. This updates projectcontour#2325. Signed-off-by: James Peach <jpeach@vmware.com>
This updates projectcontour#432. This updates projectcontour#2459. This updates projectcontour#2325. Signed-off-by: James Peach <jpeach@vmware.com>
This updates projectcontour#432. This updates projectcontour#2459. This updates projectcontour#2325. Signed-off-by: James Peach <jpeach@vmware.com>
This updates projectcontour#432. This updates projectcontour#2459. This updates projectcontour#2325. Signed-off-by: James Peach <jpeach@vmware.com>
This updates projectcontour#432. This updates projectcontour#2459. This updates projectcontour#2325. Signed-off-by: James Peach <jpeach@vmware.com>
With the addition of |
The Contour project currently lacks enough contributors to adequately respond to all Issues. This bot triages Issues according to the following rules:
You can:
Please send feedback to the #contour channel in the Kubernetes Slack |
The Contour project currently lacks enough contributors to adequately respond to all Issues. This bot triages Issues according to the following rules:
You can:
Please send feedback to the #contour channel in the Kubernetes Slack |
We have a few requests currently to allow the configuration of external services of various kinds in Envoy: #432, #1691, and #370.
The thing that all of these have in common is that with our current Contour design, there is no way for Contour to do anything other than pass the config to Envoy.
This means that, for example, there is no way for someone configuring external auth for a particular HTTPProxy to know if that external auth is working correctly without having access to the external auth service.
Another example is that there is no way for someone using a service with a rate-limiter to know if their service has tripped the rate limit.
When something does go wrong with one of these services, there needs to be a way for someone using them indirectly to know where the problem is.
I think that this problem requires two things:
Contour should be able to health check clusters in Envoy
All the external services must be configured as a cluster in Envoy. So, if Contour has a way to check the state of a cluster in Envoy (whether it has healthy endpoints, or some other information about it), then we have the information we need to pass to the application developer.
Contour should be able to expose external service health info
Contour should be able to expose external service health info in the relevant place, whether that is a
status
field on an object like a HTTPProxy, a log line in Contour, a metric, or some combination of the above.Obviously the first is a requirement for the second.
I'm not sure of the best way to check Envoy clusters from Contour, whether it's some gRPC thing, checking the stats by fetching them, or something else.
This issue is to cover:
The text was updated successfully, but these errors were encountered: