diff --git a/website/content/docs/connect/config-entries/ingress-gateway.mdx b/website/content/docs/connect/config-entries/ingress-gateway.mdx index e4dac5beb0..dc41f134c4 100644 --- a/website/content/docs/connect/config-entries/ingress-gateway.mdx +++ b/website/content/docs/connect/config-entries/ingress-gateway.mdx @@ -42,9 +42,11 @@ The following list describes the configuration hierarchy, language-specific data - [`MaxPendingRequests`](#defaults-maxpendingrequests): number - [`MaxConcurrentRequests`](#defaults-maxconcurrentrequests): number - [`PassiveHealthCheck`](#defaults-passivehealthcheck): map - - [`interval`](#defaults-passivehealthcheck): number - - [`max_failures`](#defaults-passivehealthcheck): number - - [`enforcing_consecutive_5xx`](#defaults-passivehealthcheck): number + - [`Interval`](#defaults-passivehealthcheck): number + - [`MaxFailures`](#defaults-passivehealthcheck): number + - [`EnforcingConsecutive5xx`](#defaults-passivehealthcheck): number + - [`MaxEjectionPercent`](#defaults-passivehealthcheck): number + - [`BaseEjectionTime`](#defaults-passivehealthcheck): string - [`Listeners`](#listeners): list of maps - [`Port`](#listeners-port): number | `0` - [`Protocol`](#listeners-protocol): number | `tcp` @@ -69,9 +71,11 @@ The following list describes the configuration hierarchy, language-specific data - [`MaxPendingRequests`](#listeners-services-maxconnections): number | `0` - [`MaxConcurrentRequests`](#listeners-services-maxconnections): number | `0` - [`PassiveHealthCheck`](#listeners-services-passivehealthcheck): map - - [`interval`](#listeners-services-passivehealthcheck): number - - [`max_failures`](#listeners-services-passivehealthcheck): number - - [`enforcing_consecutive_5xx`](#listeners-services-passivehealthcheck): number + - [`Interval`](#listeners-services-passivehealthcheck): number + - [`MaxFailures`](#listeners-services-passivehealthcheck): number + - [`EnforcingConsecutive5xx`](#listeners-services-passivehealthcheck): number + - [`MaxEjectionPercent`](#listeners-services-passivehealthcheck): number + - [`BaseEjectionTime`](#listeners-services-passivehealthcheck): string - [`TLS`](#listeners-tls): map - [`Enabled`](#listeners-tls-enabled): boolean | `false` - [`TLSMinVersion`](#listeners-tls-tlsminversion): string | `TLSv1_2` @@ -104,9 +108,11 @@ The following list describes the configuration hierarchy, language-specific data - [`maxPendingRequests`](#spec-defaults-maxpendingrequests): number - [`maxConcurrentRequests`](#spec-defaults-maxconcurrentrequests): number - [`passiveHealthCheck`](#spec-defaults-passivehealthcheck): map - - [`interval`](#spec-defaults-passivehealthcheck): number | no proxy's default value - - [`max_failures`](#spec-defaults-passivehealthcheck): number | no proxy's default value - - [`enforcing_consecutive_5xx`](#spec-defaults-passivehealthcheck): number | proxy's default value + - [`interval`](#spec-defaults-passivehealthcheck): string + - [`maxFailures`](#spec-defaults-passivehealthcheck): integer + - [`enforcingConsecutive5xx`](#spec-defaults-passivehealthcheck): number + - [`maxEjectionPercent`](#spec-defaults-passivehealthcheck): number + - [`baseEjectionTime`](#spec-defaults-passivehealthcheck): string - [`listeners`](#spec-listeners): list of maps - [`port`](#spec-listeners-port): number | `0` - [`protocol`](#spec-listeners-protocol): number | `tcp` @@ -131,9 +137,11 @@ The following list describes the configuration hierarchy, language-specific data - [`maxPendingRequests`](#spec-listeners-services-maxconnections): number | `0` - [`maxConcurrentRequests`](#spec-listeners-services-maxconnections): number | `0` - [`passiveHealthCheck`](#spec-listeners-services-passivehealthcheck): map - - [`interval`](#spec-listeners-services-passivehealthcheck): number - - [`max_failures`](#spec-listeners-services-passivehealthcheck): number - - [`enforcing_consecutive_5xx`](#spec-listeners-services-passivehealthcheck): number + - [`interval`](#spec-listeners-services-passivehealthcheck): string + - [`maxFailures`](#spec-listeners-services-passivehealthcheck): number + - [`enforcingConsecutive5xx`](#spec-listeners-services-passivehealthcheck): number + - [`maxEjectionPercent`](#spec-listeners-services-passivehealthcheck): integer + - [`baseEjectionTime`](#spec-listeners-services-passivehealthcheck): string - [`tls`](#spec-listeners-tls): map - [`enabled`](#spec-listeners-tls-enabled): boolean | `false` - [`tlsMinVersion`](#spec-listeners-tls-tlsminversion): string | `TLSv1_2` @@ -176,13 +184,15 @@ TLS = { } } Defaults = { - MaxConnections = 0 - MaxPendingRequests = 0 - MaxConcurrentRequests = 0 + MaxConnections = + MaxPendingRequests = + MaxConcurrentRequests = PassiveHealthCheck = { - interval = 10 - max_failures = 5 - enforcing_consecutive_5xx = 100 + Interval = "" + MaxFailures = + EnforcingConsecutive5xx = + MaxEjectionPercent = + BaseEjectionTime = "" } } Listeners = [ @@ -229,9 +239,11 @@ Listeners = [ MaxPendingRequests = MaxConcurrentRequests = PassiveHealthCheck = { - interval = 10 - max_failures = 5 - enforcing_consecutive_5xx = 100 + Interval = "" + MaxFailures = + EnforcingConsecutive5xx = + MaxEjectionPercent = + BaseEjectionTime = "" } }] TLS = { @@ -271,13 +283,15 @@ spec: clusterName: certResource: defaults: - maxConnections: 0 - maxPendingRequests: 0 - maxConcurrentRequests: 0 + maxConnections: + maxPendingRequests: + maxConcurrentRequests: passiveHealthCheck: - interval: 10 - max_failures: 5 - enforcing_consecutive_5xx: 100 + interval: "" + maxFailures: + enforcingConsecutive5xx: + maxEjectionPercent: + baseEjectionTime: "" listeners: - port: 0 protocol: tcp @@ -292,7 +306,7 @@ spec: requestHeaderName: set: requestHeaderName: - remove: + remove: - responseHeaders: add: @@ -309,9 +323,11 @@ spec: maxPendingRequests: maxConcurrentRequests: passiveHealthCheck: - interval: 10 - max_failures: 5 - enforcing_consecutive_5xx: 100 + interval: "" + maxFailures: + enforcingConsecutive5xx: + maxEjectionPercent: + baseEjectionTime: "" tls: enabled: false tlsMinVersion: TLSv1_2 @@ -349,13 +365,15 @@ spec: } }, "Defaults" : { - "MaxConnections" : 0, - "MaxPendingRequests" : 0, - "MaxConcurrentRequests": 0, + "MaxConnections" : , + "MaxPendingRequests" : , + "MaxConcurrentRequests": , "PassiveHealthCheck" : { - "interval" : 10, - "max_failures" : 5, - "enforcing_consecutive_5xx" : 100 + "interval": ", + "maxFailures": , + "enforcingConsecutive5xx":, + "maxEjectionPercent": , + "baseEjectionTime": "" } }, "Listeners" : [ @@ -402,10 +420,11 @@ spec: "MaxPendingRequests" : , "MaxConcurrentRequests" : , "PassiveHealthCheck" : { - "interval" : 10, - "max_failures" : 5, - "enforcing_consecutive_5xx" : 100 - } + "interval": ", + "maxFailures": , + "enforcingConsecutive5xx":, + "maxEjectionPercent": , + "baseEjectionTime": "" } ], "TLS" : { @@ -632,9 +651,11 @@ The following table describes the configurations for passive health checks: | Parameter | Description | Data type | Default | | --- | --- | --- | --- | -| `interval` | Specifies the time in nanoseconds between checks. | Integer | Proxy's default configuration, which is `10` for Envoy | -| `max_failures` | Specifies the number of consecutive failures that cause a host to be removed from the upstream cluster. | Integer | Proxy's default configuration, which is `5` for Envoy | -| `enforcing_consecutive_5xx` | Specifies a percentage that indicates how many times out of 100 that Consul ejects the host when it detects an outlier status. The outlier status is determined by consecutive errors in the 500-599 response range. | Integer | Proxy's default configuration, which is `100` for Envoy | + | `Interval` | Specifies the time between checks. | string | `0s` | + | `MaxFailures` | Specifies the number of consecutive failures allowed per check interval. If exceeded, Consul removes the host from the load balancer. | integer | `0` | + | `EnforcingConsecutive5xx` | Specifies a percentage that indicates how many times out of 100 that Consul ejects the host when it detects an outlier status. The outlier status is determined by consecutive errors in the 500-599 response range. | integer | `100` | + | `MaxEjectionPercent` | Specifies the maximum percentage of an upstream cluster that Consul ejects when the proxy reports an outlier. Consul ejects at least one host when an outlier is detected regardless of the value. | integer | `10` | + | `BaseEjectionTime` | Specifies the minimum amount of time that an ejected host must remain outside the cluster before rejoining. The real time is equal to the value of the `BaseEjectionTime` multiplied by the number of times the host has been ejected. | string | `30s` | ### `Listeners[]` @@ -867,9 +888,11 @@ The following table describes the configurations for passive health checks: | Parameter | Description | Data type | Default | | --- | --- | --- | --- | -| `interval` | Specifies the time in nanoseconds between checks. | Integer | Proxy's default configuration, which is `10` for Envoy | -| `max_failures` | Specifies the number of consecutive failures that cause a host to be removed from the upstream cluster. | Integer | Proxy's default configuration, which is `5` for Envoy | -| `enforcing_consecutive_5xx` | Specifies a percentage that indicates how many times out of 100 that Consul ejects the host when it detects an outlier status. The outlier status is determined by consecutive errors in the 500-599 response range. | Integer | Proxy's default configuration, which is `100` for Envoy | + | `Interval` | Specifies the time between checks. | string | `0s` | + | `MaxFailures` | Specifies the number of consecutive failures allowed per check interval. If exceeded, Consul removes the host from the load balancer. | integer | `0` | + | `EnforcingConsecutive5xx` | Specifies a percentage that indicates how many times out of 100 that Consul ejects the host when it detects an outlier status. The outlier status is determined by consecutive errors in the 500-599 response range. | integer | `100` | + | `MaxEjectionPercent` | Specifies the maximum percentage of an upstream cluster that Consul ejects when the proxy reports an outlier. Consul ejects at least one host when an outlier is detected regardless of the value. | integer | `10` | + | `BaseEjectionTime` | Specifies the minimum amount of time that an ejected host must remain outside the cluster before rejoining. The real time is equal to the value of the `BaseEjectionTime` multiplied by the number of times the host has been ejected. | string | `30s` | ### `Listeners[].TLS` @@ -1163,9 +1186,11 @@ The following table describes the configurations for passive health checks: | Parameter | Description | Data type | Default | | --- | --- | --- | --- | -| `interval` | Specifies the time in nanoseconds between checks. | Integer | Proxy's default configuration, which is `10` for Envoy | -| `max_failures` | Specifies the number of consecutive failures that cause a host to be removed from the upstream cluster. | Integer | Proxy's default configuration, which is `5` for Envoy | -| `enforcing_consecutive_5xx` | Specifies a percentage that indicates how many times out of 100 that Consul ejects the host when it detects an outlier status. The outlier status is determined by consecutive errors in the 500-599 response range. | Integer | Proxy's default configuration, which is `100` for Envoy | + | `Interval` | Specifies the time between checks. | string | `0s` | + | `MaxFailures` | Specifies the number of consecutive failures allowed per check interval. If exceeded, Consul removes the host from the load balancer. | integer | `0` | + | `EnforcingConsecutive5xx` | Specifies a percentage that indicates how many times out of 100 that Consul ejects the host when it detects an outlier status. The outlier status is determined by consecutive errors in the 500-599 response range. | integer | `100` | + | `MaxEjectionPercent` | Specifies the maximum percentage of an upstream cluster that Consul ejects when the proxy reports an outlier. Consul ejects at least one host when an outlier is detected regardless of the value. | integer | `10` | + | `BaseEjectionTime` | Specifies the minimum amount of time that an ejected host must remain outside the cluster before rejoining. The real time is equal to the value of the `BaseEjectionTime` multiplied by the number of times the host has been ejected. | string | `30s` | ### `spec.listeners[]` @@ -1399,9 +1424,11 @@ The following table describes the configurations for passive health checks: | Parameter | Description | Data type | Default | | --- | --- | --- | --- | -| `interval` | Specifies the time in nanoseconds between checks. | Integer | Proxy's default configuration, which is `10` for Envoy | -| `max_failures` | Specifies the number of consecutive failures that cause a host to be removed from the upstream cluster. | Integer | Proxy's default configuration, which is `5` for Envoy | -| `enforcing_consecutive_5xx` | Specifies a percentage that indicates how many times out of 100 that Consul ejects the host when it detects an outlier status. The outlier status is determined by consecutive errors in the 500-599 response range. | Integer | Proxy's default configuration, which is `100` for Envoy | + | `Interval` | Specifies the time between checks. | string | `0s` | + | `MaxFailures` | Specifies the number of consecutive failures allowed per check interval. If exceeded, Consul removes the host from the load balancer. | integer | `0` | + | `EnforcingConsecutive5xx` | Specifies a percentage that indicates how many times out of 100 that Consul ejects the host when it detects an outlier status. The outlier status is determined by consecutive errors in the 500-599 response range. | integer | `100` | + | `MaxEjectionPercent` | Specifies the maximum percentage of an upstream cluster that Consul ejects when the proxy reports an outlier. Consul ejects at least one host when an outlier is detected regardless of the value. | integer | `10` | + | `BaseEjectionTime` | Specifies the minimum amount of time that an ejected host must remain outside the cluster before rejoining. The real time is equal to the value of the `BaseEjectionTime` multiplied by the number of times the host has been ejected. | string | `30s` | ### `spec.listeners[].tls` diff --git a/website/content/docs/connect/config-entries/service-defaults.mdx b/website/content/docs/connect/config-entries/service-defaults.mdx index df7141a874..29cc76d97f 100644 --- a/website/content/docs/connect/config-entries/service-defaults.mdx +++ b/website/content/docs/connect/config-entries/service-defaults.mdx @@ -40,7 +40,9 @@ The following outline shows how to format the service defaults configuration ent - [`PassiveHealthCheck`](#upstreamconfig-overrides-passivehealthcheck): map | optional - [`Interval`](#upstreamconfig-overrides-passivehealthcheck): string | `0s` - [`MaxFailures`](#upstreamconfig-overrides-passivehealthcheck): integer | `0` - - [`EnforcingConsecutive5xx`](#upstreamconfig-overrides-passivehealthcheck): integer | `100` + - [`EnforcingConsecutive5xx`](#upstreamconfig-overrides-passivehealthcheck): integer | `0` + - [`MaxEjectionPercent`](#upstreamconfig-overrides-passivehealthcheck): integer | `0` + - [`BaseEjectionTime`](#upstreamconfig-overrides-passivehealthcheck): string | `30s` - [`Defaults`](#upstreamconfig-defaults): map | no default - [`Protocol`](#upstreamconfig-defaults-protocol): string | no default - [`ConnectTimeoutMs`](#upstreamconfig-defaults-connecttimeoutms): int | default: `5000` @@ -54,7 +56,9 @@ The following outline shows how to format the service defaults configuration ent - [`PassiveHealthCheck`](#upstreamconfig-defaults-passivehealthcheck): map | optional - [`Interval`](#upstreamconfig-defaults-passivehealthcheck): string | `0s` - [`MaxFailures`](#upstreamconfig-defaults-passivehealthcheck): integer | `0` - - [`EnforcingConsecutive5xx`](#upstreamconfig-defaults-passivehealthcheck): integer | + - [`EnforcingConsecutive5xx`](#upstreamconfig-defaults-passivehealthcheck): integer | `100` + - [`MaxEjectionPercent`](#upstreamconfig-defaults-passivehealthcheck): integer | `0` + - [`BaseEjectionTime`](#upstreamconfig-defaults-passivehealthcheck): string | `30s` - [`TransparentProxy`](#transparentproxy): map | no default - [`OutboundListenerPort`](#transparentproxy): integer | `15001` - [`DialedDirectly`](#transparentproxy ): boolean | `false` @@ -109,7 +113,9 @@ The following outline shows how to format the service defaults configuration ent - [`passiveHealthCheck`](#upstreamconfig-overrides-passivehealthcheck): map | optional - [`interval`](#upstreamconfig-overrides-passivehealthcheck): string | `0s` - [`maxFailures`](#upstreamconfig-overrides-passivehealthcheck): integer | `0` - - [`mnforcingConsecutive5xx`](#upstreamconfig-overrides-passivehealthcheck): integer | `100` + - [`enforcingConsecutive5xx`](#upstreamconfig-overrides-passivehealthcheck): integer | `100` + - [`maxEjectionPercent`](#upstreamconfig-overrides-passivehealthcheck): integer | `10` + - [`baseEjectionTime`](#upstreamconfig-overrides-passivehealthcheck): string | `30s` - [`defaults`](#upstreamconfig-defaults): map | no default - [`protocol`](#upstreamconfig-defaults-protocol): string | no default - [`connectTimeoutMs`](#upstreamconfig-defaults-connecttimeoutms): int | default: `5000` @@ -123,7 +129,9 @@ The following outline shows how to format the service defaults configuration ent - [`passiveHealthCheck`](#upstreamconfig-defaults-passivehealthcheck): map | optional - [`interval`](#upstreamconfig-defaults-passivehealthcheck): string | `0s` - [`maxFailures`](#upstreamconfig-defaults-passivehealthcheck): integer | `0` - - [`enforcingConsecutive5xx`](#upstreamconfig-defaults-passivehealthcheck): integer | + - [`enforcingConsecutive5xx`](#upstreamconfig-defaults-passivehealthcheck): integer | `100` + - [`maxEjectionPercent`](#upstreamconfig-defaults-passivehealthcheck): integer | `10` + - [`baseEjectionTime`](#upstreamconfig-defaults-passivehealthcheck): string | `30s` - [`transparentProxy`](#transparentproxy): map | no default - [`outboundListenerPort`](#transparentproxy): integer | `15001` - [`dialedDirectly`](#transparentproxy): boolean | `false` @@ -190,6 +198,8 @@ UpstreamConfig = { Interval = "5s" MaxFailures = 5 EnforcingConsecutive5xx = 99 + MaxEjectionPercent = 10 + BaseEjectionTime = "30s" } } Defaults = { @@ -208,6 +218,8 @@ UpstreamConfig = { Interval = "1s" MaxFailures = 1 EnforcingConsecutive5xx = 89 + MaxEjectionPercent = 10 + BaseEjectionTime = "30s" } } } @@ -271,9 +283,11 @@ spec: maxPendingRequests: 0 maxConcurrentRequests: 0 passiveHealthCheck: - interval: 0s + interval: "10s" maxFailures: 0 enforcingConsecutive5xx: 100 + maxEjectionPercent: 10 + baseEjectionTime: "30s" defaults: protocol: connectTimeoutMs: 5000 @@ -285,9 +299,11 @@ spec: maxPendingRequests: 0 maxConcurrentRequests: 0 passiveHealthCheck: - interval: 0s + interval: "0s" maxFailures: 0 enforcingConsecutive5xx: 100 + maxEjectionPercent: 10 + baseEjectionTime: "30s" transparentProxy: outboundListenerPort: 15001 dialedDirectly: false @@ -347,8 +363,10 @@ spec: "passiveHealthCheck": { "interval": "0s", "maxFailures": 0, - "enforcingConsecutive5xx": 100 - } + "enforcingConsecutive5xx": 100, + "maxEjectionPercent": 10, + "baseEjectionTime": "30s", + }, } ], "defaults": { @@ -366,7 +384,9 @@ spec: "passiveHealthCheck": { "interval": "0s", "maxFailures": 0, - "enforcingConsecutive5xx": 100 + "enforcingConsecutive5xx": 100, + "maxEjectionPercent": 10, + "baseEjectionTime": "30s", } } }, @@ -625,7 +645,9 @@ The following table describes passive health check parameters you can configure: | --- | --- | --- | --- | | `Interval` | Specifies the time between checks. | string | `0s` | | `MaxFailures` | Specifies the number of consecutive failures allowed per check interval. If exceeded, Consul removes the host from the load balancer. | integer | `0` | -| `EnforcingConsecutive5xx ` | Specifies a percentage that indicates how many times out of 100 that Consul ejects the host when it detects an outlier status. The outlier status is determined by consecutive errors in the 500-599 response range. | integer | `100` | +| `EnforcingConsecutive5xx` | Specifies a percentage that indicates how many times out of 100 that Consul ejects the host when it detects an outlier status. The outlier status is determined by consecutive errors in the 500-599 response range. | integer | `100` | + | `MaxEjectionPercent` | Specifies the maximum percentage of an upstream cluster that Consul ejects when the proxy reports an outlier. Consul ejects at least one host when an outlier is detected regardless of the value. | integer | `10` | + | `BaseEjectionTime` | Specifies the minimum amount of time that an ejected host must remain outside the cluster before rejoining. The real time is equal to the value of the `BaseEjectionTime` multiplied by the number of times the host has been ejected. | string | `30s` | ### `UpstreamConfig.Defaults` @@ -690,6 +712,8 @@ Map that specifies a set of rules that enable Consul to remove hosts from the up | `Interval` | Specifies the time between checks. | string | `0s` | | `MaxFailures` | Specifies the number of consecutive failures allowed per check interval. If exceeded, Consul removes the host from the load balancer. | integer | `0` | | `EnforcingConsecutive5xx ` | Specifies a percentage that indicates how many times out of 100 that Consul ejects the host when it detects an outlier status. The outlier status is determined by consecutive errors in the 500-599 response range. | integer | `100` | + | `MaxEjectionPercent` | Specifies the maximum percentage of an upstream cluster that Consul ejects when the proxy reports an outlier. Consul ejects at least one host when an outlier is detected regardless of the value. | integer | `10` | + | `BaseEjectionTime` | Specifies the minimum amount of time that an ejected host must remain outside the cluster before rejoining. The real time is equal to the value of the `BaseEjectionTime` multiplied by the number of times the host has been ejected. | string | `30s` | ### `TransparentProxy` @@ -1016,6 +1040,8 @@ The following table describes passive health check parameters you can configure: | `interval` | Specifies the time between checks. | string | `0s` | | `maxFailures` | Specifies the number of consecutive failures allowed per check interval. If exceeded, Consul removes the host from the load balancer. | integer | `0` | | `enforcingConsecutive5xx ` | Specifies a percentage that indicates how many times out of 100 that Consul ejects the host when it detects an outlier status. The outlier status is determined by consecutive errors in the 500-599 response range. | integer | `100` | + | `maxEjectionPercent` | The maximum % of an upstream cluster that can be ejected due to outlier detection. Defaults to 10% but will eject at least one host regardless of the value. | integer | `10` | + | `baseEjectionTime` | The base time that a host is ejected for. The real time is equal to the base time multiplied by the number of times the host has been ejected and is capped by max_ejection_time (Default 300s). Defaults to 30000ms or 30s. | string | `30s` | ### `spec.upstreamConfig.defaults` @@ -1093,6 +1119,8 @@ The following table describes the health check parameters you can configure: | `interval` | Specifies the time between checks. | string | `0s` | | `maxFailures` | Specifies the number of consecutive failures allowed per check interval. If exceeded, Consul removes the host from the load balancer. | integer | `0` | | `enforcingConsecutive5xx ` | Specifies a percentage that indicates how many times out of 100 that Consul ejects the host when it detects an outlier status. The outlier status is determined by consecutive errors in the 500-599 response range. | integer | `100` | + | `MaxEjectionPercent` | Specifies the maximum percentage of an upstream cluster that Consul ejects when the proxy reports an outlier. Consul ejects at least one host when an outlier is detected regardless of the value. | integer | `10` | + | `BaseEjectionTime` | Specifies the minimum amount of time that an ejected host must remain outside the cluster before rejoining. The real time is equal to the value of the `BaseEjectionTime` multiplied by the number of times the host has been ejected. | string | `30s` | ### `spec.transparentProxy`