Skip to content

Commit f29cc8b

Browse files
authored
Merge pull request #44848 from cowgirljessi/OSDOCS3419
OSDOCS-3419: healthCheckInterval Parameter documentation
2 parents d26b72d + 6e01af0 commit f29cc8b

File tree

3 files changed

+37
-9
lines changed

3 files changed

+37
-9
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * networking/ingress-operator.adoc
4+
5+
:_content-type: PROCEDURE
6+
[id="nw-ingress-controller-config-tuningoptions-healthcheckinterval_{context}"]
7+
= Setting the Ingress Controller health check interval
8+
A cluster administrator can set the health check interval to define how long the router waits between two consecutive health checks. This value is applied globally as a default for all routes. The default value is 5 seconds.
9+
10+
.Prerequisites
11+
* The following assumes that you already created an Ingress Controller.
12+
13+
.Procedure
14+
* Update the Ingress Controller to change the interval between back end health checks:
15+
+
16+
[source,terminal]
17+
----
18+
$ oc -n openshift-ingress-operator patch ingresscontroller/default --type=merge -p '{"spec":{"tuningOptions": {"healthCheckInterval": "8s"}}}'
19+
----
20+
+
21+
[NOTE]
22+
====
23+
To override the `healthCheckInterval` for a single route, use the route annotation `router.openshift.io/haproxy.health.check.interval`
24+
====

modules/nw-ingress-controller-configuration-parameters.adoc

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -197,24 +197,26 @@ For request headers, these adjustments are applied only for routes that have the
197197
|`tuningOptions`
198198
|`tuningOptions` specifies options for tuning the performance of Ingress Controller pods.
199199

200+
* `clientFinTimeout` specifies how long a connection is held open while waiting for the client response to the server closing the connection. The default timeout is `1s`.
201+
202+
* `clientTimeout` specifies how long a connection is held open while waiting for a client response. The default timeout is `30s`.
203+
200204
* `headerBufferBytes` specifies how much memory is reserved, in bytes, for Ingress Controller connection sessions. This value must be at least `16384` if HTTP/2 is enabled for the Ingress Controller. If not set, the default value is `32768` bytes. Setting this field not recommended because `headerBufferBytes` values that are too small can break the Ingress Controller, and `headerBufferBytes` values that are too large could cause the Ingress Controller to use significantly more memory than necessary.
201205
202206
* `headerBufferMaxRewriteBytes` specifies how much memory should be reserved, in bytes, from `headerBufferBytes` for HTTP header rewriting and appending for Ingress Controller connection sessions. The minimum value for `headerBufferMaxRewriteBytes` is `4096`. `headerBufferBytes` must be greater than `headerBufferMaxRewriteBytes` for incoming HTTP requests. If not set, the default value is `8192` bytes. Setting this field not recommended because `headerBufferMaxRewriteBytes` values that are too small can break the Ingress Controller and `headerBufferMaxRewriteBytes` values that are too large could cause the Ingress Controller to use significantly more memory than necessary.
203207
204-
* `threadCount` specifies the number of threads to create per HAProxy process. Creating more threads allows each Ingress Controller pod to handle more connections, at the cost of more system resources being used. HAProxy
205-
supports up to `64` threads. If this field is empty, the Ingress Controller uses the default value of `4` threads. The default value can change in future releases. Setting this field is not recommended because increasing the number of HAProxy threads allows Ingress Controller pods to use more CPU time under load, and prevent other pods from receiving the CPU resources they need to perform. Reducing the number of threads can cause the Ingress Controller to perform poorly.
208+
* `healthCheckInterval` specifies how long the router waits between health checks. The default is `5s`.
206209
207-
* `clientTimeout` specifies how long a connection is held open while waiting for a client response. If unset, the default timeout is `30s`.
210+
* `serverFinTimeout` specifies how long a connection is held open while waiting for the server response to the client that is closing the connection. The default timeout is `1s`.
208211
209-
* `serverFinTimeout` specifies how long a connection is held open while waiting for the server response to the client that is closing the connection. If unset, the default timeout is `1s`.
212+
* `serverTimeout` specifies how long a connection is held open while waiting for a server response. The default timeout is `30s`.
210213
211-
* `serverTimeout` specifies how long a connection is held open while waiting for a server response. If unset, the default timeout is `30s`.
212-
213-
* `clientFinTimeout` specifies how long a connection is held open while waiting for the client response to the server closing the connection. If unset, the default timeout is `1s`.
214+
* `threadCount` specifies the number of threads to create per HAProxy process. Creating more threads allows each Ingress Controller pod to handle more connections, at the cost of more system resources being used. HAProxy
215+
supports up to `64` threads. If this field is empty, the Ingress Controller uses the default value of `4` threads. The default value can change in future releases. Setting this field is not recommended because increasing the number of HAProxy threads allows Ingress Controller pods to use more CPU time under load, and prevent other pods from receiving the CPU resources they need to perform. Reducing the number of threads can cause the Ingress Controller to perform poorly.
214216
215-
* `tlsInspectDelay` specifies how long the router can hold data to find a matching route. Setting this value too short can cause the router to fall back to the default certificate for edge-terminated, reencrypted, or passthrough routes, even when using a better matched certificate. If unset, the default inspect delay is `5s`.
217+
* `tlsInspectDelay` specifies how long the router can hold data to find a matching route. Setting this value too short can cause the router to fall back to the default certificate for edge-terminated, reencrypted, or passthrough routes, even when using a better matched certificate. The default inspect delay is `5s`.
216218
217-
* `tunnelTimeout` specifies how long a tunnel connection, including websockets, remains open while the tunnel is idle. If unset, the default timeout is `1h`.
219+
* `tunnelTimeout` specifies how long a tunnel connection, including websockets, remains open while the tunnel is idle. The default timeout is `1h`.
218220
219221
* `maxConnections` specifies the maximum number of simultaneous connections that can be established per HAProxy process. Increasing this value allows each ingress controller pod handle more connections at the cost of additional system resources. Permitted values are `0`, `-1`, any value within the range `2000` and `2000000`, or the field can be left empty.
220222

networking/ingress-operator.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ include::modules/nw-ingress-setting-internal-lb.adoc[leveloffset=+2]
5555

5656
include::modules/nw-ingress-controller-configuration-gcp-global-access.adoc[leveloffset=+2]
5757

58+
include::modules/nw-ingress-controller-config-tuningoptions-healthcheckinterval.adoc[leveloffset=+2]
59+
5860
include::modules/nw-ingress-default-internal.adoc[leveloffset=+2]
5961

6062
include::modules/nw-route-admission-policy.adoc[leveloffset=+2]

0 commit comments

Comments
 (0)