diff --git a/api/filter/http/health_check.proto b/api/filter/http/health_check.proto index fa8530cb8..c1266955b 100644 --- a/api/filter/http/health_check.proto +++ b/api/filter/http/health_check.proto @@ -23,9 +23,8 @@ message HealthCheck { // that the filter should cache the upstream response. google.protobuf.Duration cache_time = 3; - // [#not-implemented-hide:] // If operating in non-pass-through mode, specifies a set of upstream cluster // names and the minimum percentage of servers in each of those clusters that - // must be healthy in order for the filter to return a 200. + // must be healthy in order for the filter to return a 200. map cluster_min_healthy_percentages = 4; } diff --git a/docs/root/intro/arch_overview/health_checking.rst b/docs/root/intro/arch_overview/health_checking.rst index 9527903fa..da90edc4f 100644 --- a/docs/root/intro/arch_overview/health_checking.rst +++ b/docs/root/intro/arch_overview/health_checking.rst @@ -44,6 +44,11 @@ operation: * **No pass through**: In this mode, the health check request is never passed to the local service. Envoy will respond with a 200 or a 503 depending on the current draining state of the server. +* **No pass through, computed from upstream cluster health**: In this mode, the health checking + filter will return a 200 or a 503 depending on whether at least a :ref:`specified percentage + ` of the + servers are healthy in one or more upstream clusters. (If the Envoy server is in a draining + state, though, it will respond with a 503 regardless of the upstream cluster health.) * **Pass through**: In this mode, Envoy will pass every health check request to the local service. The service is expected to return a 200 or a 503 depending on its health state. * **Pass through with caching**: In this mode, Envoy will pass health check requests to the local