You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Allow configuring nginx worker reload behaviour, to prevent multiple concurrent worker reloads which can lead to high resource usage and OOMKill (#10884)
* feat: allow configuring nginx worker reload behaviour, to prevent multiple concurrent worker reloads
Signed-off-by: Rafael da Fonseca <[email protected]>
* appease linter, remove unnecessary log line
Signed-off-by: Rafael da Fonseca <[email protected]>
* Flip to using a positive behaviour flag instead of negative
Signed-off-by: Rafael da Fonseca <[email protected]>
* Update helm-docs
Signed-off-by: Rafael da Fonseca <[email protected]>
* Avoid calling GetBackendConfiguration() twice, use clearer name for helm chart option
Signed-off-by: Rafael da Fonseca <[email protected]>
* Fix helm-docs ordering
Signed-off-by: Rafael da Fonseca <[email protected]>
---------
Signed-off-by: Rafael da Fonseca <[email protected]>
| controller.enableMimalloc | bool | `true` | Enable mimalloc as a drop-in replacement for malloc. # ref: https://github.com/microsoft/mimalloc # |
303
303
| controller.enableTopologyAwareRouting | bool | `false` | This configuration enables Topology Aware Routing feature, used together with service annotation service.kubernetes.io/topology-mode="auto" Defaults to false |
304
+
| controller.enableWorkerSerialReloads | bool | `false` | This configuration defines if NGINX workers should reload serially instead of concurrently when multiple changes that require reloads are queued |
304
305
| controller.existingPsp | string | `""` | Use an existing PSP instead of creating one |
305
306
| controller.extraArgs | object | `{}` | Additional command line arguments to pass to Ingress-Nginx Controller E.g. to specify the default SSL certificate you can use |
306
307
| controller.extraContainers | list | `[]` | Additional containers to be added to the controller pod. See https://github.com/lemonldap-ng-controller/lemonldap-ng-controller as example. |
// Defines whether multiple concurrent reloads of worker processes should occur.
481
+
// Set this to false to prevent more than n x 2 workers to exist at any time, to avoid potential OOM situations and high CPU load
482
+
// With this setting on false, configuration changes in the queue will be re-queued with an exponential backoff, until the number of worker process is the expected value.
483
+
// By default new worker processes are spawned every time there's a change that cannot be applied dynamically with no upper limit to the number of running workers
0 commit comments