Browse Source

add support for configuring cri-o pids_limit (#7525)

pull/7518/head
Cristian Calin 3 years ago
committed by GitHub
parent
commit
384d30b675
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 1 deletions
  1. 14
      docs/cri-o.md
  2. 4
      roles/container-engine/cri-o/defaults/main.yml
  3. 2
      roles/container-engine/cri-o/templates/crio.conf.j2

14
docs/cri-o.md

@ -45,4 +45,18 @@ crio_registries_mirrors:
insecure: false
```
## Note about pids_limit
For heavily mult-threaded workloads like databases, the default of 1024 for pids-limit is too low.
This parameter controls not just the number of processes but also the amount of threads
(since a thread is technically a process with shared memory). See [cri-o#1921]
In order to increase the default `pids_limit` for cri-o based deployments you need to set the `crio_pids_limit`
for your `k8s-cluster` ansible group or per node depending on the use case.
```yaml
crio_pids_limit: 4096
```
[CRI-O]: https://cri-o.io/
[cri-o#1921]: https://github.com/cri-o/cri-o/issues/1921

4
roles/container-engine/cri-o/defaults/main.yml

@ -81,3 +81,7 @@ crio_add_repos: true
# skopeo need for save/load images when download_run_once=true
skopeo_packages:
- "skopeo"
# Configure the cri-o pids limit, increase this for heavily multi-threaded workloads
# see https://github.com/cri-o/cri-o/issues/1921
crio_pids_limit: 1024

2
roles/container-engine/cri-o/templates/crio.conf.j2

@ -202,7 +202,7 @@ default_mounts = [
#default_mounts_file = ""
# Maximum number of processes allowed in a container.
pids_limit = 1024
pids_limit = {{ crio_pids_limit }}
# Maximum sized allowed for the container log file. Negative numbers indicate
# that no size limit is imposed. If it is positive, it must be >= 8192 to

Loading…
Cancel
Save