Skip to content

Commit

Permalink
Backport of Adds PassiveHealthCheck Fields to ServiceDefaults and Ing…
Browse files Browse the repository at this point in the history
…ressGateway into release/1.16.x (#18947)

* Adds PassiveHealthCheck Fields to ServiceDefaults and IngressGateway (#18532)

Co-authored-by: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com>
  • Loading branch information
1 parent a6a8312 commit e81b8a3
Show file tree
Hide file tree
Showing 2 changed files with 158 additions and 131 deletions.
125 changes: 74 additions & 51 deletions website/content/docs/connect/config-entries/ingress-gateway.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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`
Expand All @@ -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`
Expand Down Expand Up @@ -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`
Expand All @@ -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`
Expand Down Expand Up @@ -176,13 +184,15 @@ TLS = {
}
}
Defaults = {
MaxConnections = 0
MaxPendingRequests = 0
MaxConcurrentRequests = 0
MaxConnections = <number>
MaxPendingRequests = <number>
MaxConcurrentRequests = <number>
PassiveHealthCheck = {
interval = 10
max_failures = 5
enforcing_consecutive_5xx = 100
Interval = "<the time between checks>"
MaxFailures = <number>
EnforcingConsecutive5xx = <number>
MaxEjectionPercent = <number>
BaseEjectionTime = "<the base time that a host is ejected for>"
}
}
Listeners = [
Expand Down Expand Up @@ -216,7 +226,7 @@ Listeners = [
ResponseHeaderName = "<response header value to set>"
}
Remove = [
"<response header remove>"
"<response header to remove>"
]
}
TLS = {
Expand All @@ -229,9 +239,11 @@ Listeners = [
MaxPendingRequests = <number>
MaxConcurrentRequests = <number>
PassiveHealthCheck = {
interval = 10
max_failures = 5
enforcing_consecutive_5xx = 100
Interval = "<the time between checks>"
MaxFailures = <number>
EnforcingConsecutive5xx = <number>
MaxEjectionPercent = <number>
BaseEjectionTime = "<the base time that a host is ejected for>"
}
}]
TLS = {
Expand Down Expand Up @@ -271,13 +283,15 @@ spec:
clusterName: <name of SDS cluster>
certResource: <SDS resource name>
defaults:
maxConnections: 0
maxPendingRequests: 0
maxConcurrentRequests: 0
maxConnections: <number>
maxPendingRequests: <number>
maxConcurrentRequests: <number>
passiveHealthCheck:
interval: 10
max_failures: 5
enforcing_consecutive_5xx: 100
interval: "<the time between checks>"
maxFailures: <number>
enforcingConsecutive5xx: <number>
maxEjectionPercent: <number>
baseEjectionTime: "<the base time that a host is ejected for>"
listeners:
- port: 0
protocol: tcp
Expand All @@ -292,15 +306,15 @@ spec:
requestHeaderName: <request header value to add>
set:
requestHeaderName: <request header value to set>
remove:
remove:
- <request header to remove>
responseHeaders:
add:
responseHeaderName: <response header value to add>
set:
responseHeaderName: <response header value to set>
remove:
- <response header remove>
- <response header to remove>
tls:
sds:
clusterName: <name of SDS cluster>
Expand All @@ -309,9 +323,11 @@ spec:
maxPendingRequests: <number>
maxConcurrentRequests: <number>
passiveHealthCheck:
interval: 10
max_failures: 5
enforcing_consecutive_5xx: 100
interval: "<the time between checks>"
maxFailures: <number>
enforcingConsecutive5xx:<number>
maxEjectionPercent: <number>
baseEjectionTime: "<the base time that a host is ejected for>"
tls:
enabled: false
tlsMinVersion: TLSv1_2
Expand Down Expand Up @@ -349,9 +365,9 @@ spec:
}
},
"Defaults" : {
"MaxConnections" : 0,
"MaxPendingRequests" : 0,
"MaxConcurrentRequests": 0,
"MaxConnections" : <number>,
"MaxPendingRequests" : <number>,
"MaxConcurrentRequests": <number>,
"PassiveHealthCheck" : {
"interval": "<the time between checks>",
"maxFailures": <number>,
Expand Down Expand Up @@ -391,7 +407,7 @@ spec:
"ResponseHeaderName" : "<response header value to set>"
},
"Remove" : [
"<response header remove>"
"<response header to remove>"
]
},
"TLS" : {
Expand All @@ -406,10 +422,9 @@ spec:
"PassiveHealthCheck" : {
"interval": "<the time between checks>",
"maxFailures": <number>,
"enforcingConsecutive5xx":<number>,
"enforcingConsecutive5xx": <number>,
"maxEjectionPercent": <number>,
"baseEjectionTime": "<the base time that a host is ejected for>"
}
}
],
"TLS" : {
Expand Down Expand Up @@ -636,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[]`

Expand Down Expand Up @@ -871,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`

Expand Down Expand Up @@ -1167,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[]`

Expand Down Expand Up @@ -1403,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`

Expand Down
Loading

0 comments on commit e81b8a3

Please sign in to comment.