envoyproxy/envoy

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

Open

#13,118 创建于 2020年9月15日

在 GitHub 查看
 (1 评论) (0 反应) (0 负责人)C++ (5,373 fork)batch import
area/health_checkinghelp wanted

仓库指标

Star
 (27,997 star)
PR 合并指标
 (平均合并 8天) (30 天内合并 378 个 PR)

描述

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).

贡献者指南