envoyproxy/envoy

add support for depending on server state == "LIVE" In healthcheck filter

Open

#13.118 aberto em 15 de set. de 2020

Ver no GitHub
 (1 comment) (0 reactions) (0 assignees)C++ (5.373 forks)batch import
area/health_checkinghelp wanted

Métricas do repositório

Stars
 (27.997 stars)
Métricas de merge de PR
 (Mesclagem média 8d) (378 fundiu PRs em 30d)

Description

Title: add support for depending on server state == "LIVE" In healthcheck filter

For context, we use the healthcheck filter configured to depend on the health of the application the Envoy sidecar accompanies. This lets the app see health checks on a regular interval and the envoy filter handles the flood of active health checking.

We ran into an issue (which I'm still debugging) where the clusters and listeners loaded, so Envoy started reporting healthy, but its ingress route table was not loaded so all traffic received a 404 with the NoRouteFound response details. Ideally in this scenario the health check filter would have returned 5xx until the routes loaded AND the configured upstream clusters passed the health threshold.

I think it would make sense make the health check have an option for making health status also depend on the server state being "LIVE" (i.e. the same conditions that make /ready return 200 on the admin interface).

Guia do colaborador