Skip to content
cri-o.md 1.52 KiB
Newer Older
Maxime Guyot's avatar
Maxime Guyot committed
# CRI-O
Takashi Okamoto's avatar
Takashi Okamoto committed

[CRI-O] is a lightweight container runtime for Kubernetes.
Kubespray supports basic functionality for using CRI-O as the default container runtime in a cluster.
Takashi Okamoto's avatar
Takashi Okamoto committed

* Kubernetes supports CRI-O on v1.11.1 or later.
* etcd: configure either kubeadm managed etcd or host deployment
Takashi Okamoto's avatar
Takashi Okamoto committed

_To use the CRI-O container runtime set the following variables:_
## all/all.yml
Takashi Okamoto's avatar
Takashi Okamoto committed
download_container: false
skip_downloads: false
Takashi Okamoto's avatar
Takashi Okamoto committed
```

## k8s-cluster/k8s-cluster.yml
container_manager: crio
Takashi Okamoto's avatar
Takashi Okamoto committed
```
etcd_deployment_type: host # optionally and mutually exclusive with etcd_kubeadm_enabled
## all/crio.yml

Enable docker hub registry mirrors

```yaml
crio_registries_mirrors:
  - prefix: docker.io
    insecure: false
    blocked: false
    location: registry-1.docker.io
    mirrors:
      - location: 192.168.100.100:5000
        insecure: true
      - location: mirror.gcr.io
        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