containerd vs CRI-O
containerd
containerd.ioCRI-O
cri-o.ioSide by side
| Figure | containerd | CRI-O |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 0 |
| Spec score · Container Engines | 8.0 (#9) | 7.3 (#21) |
| Spec score · Container Runtime Software | 8.1 (#11) | 7.4 (#21) |
| Purpose | containerd is an industry-standard container runtime for managing a host’s container lifecycle, including image transfer and storage, execution, and supervision. | CRI-O implements the Kubernetes Container Runtime Interface so Kubernetes can launch and manage OCI containers. |
| Runtime support | It supports the OCI Runtime Specification and uses runc as its default runtime, while allowing other OCI compliant runtimes to be added. | CRI-O supports OCI-compatible runtimes, including runc and Kata Containers. |
| Support | Nightly builds are available for Linux and Windows, but may contain critical bugs, are not recommended for production, and receive no support. | The project site directs users to the #crio channel on Kubernetes Slack and the project GitHub repository. |
Plans
In their own words
containerd
containerd is a free container runtime for managing a host’s container lifecycle. It handles image transfer and storage, execution, and supervision, and is designed to be embedded in a larger system rather than used directly by developers or end users. It supports OCI images and image push and pull operations, and uses runc by default while allowing other OCI-compliant runtimes. Its built-in CRI plugin can make it the container runtime for a Kubernetes cluster, and it supports registries compliant with the OCI Distribution Specification. The daemon is available for Linux and Windows. Network-interface management and image building are outside containerd’s first-class scope, so higher-level systems or tools handle those jobs. Its ctr command-line tool is intended for development and debugging, without a guarantee of a stable interface or a human-friendly experience. Users typically also need runc and CNI plugins. The plan is free; free plan available, with no free trial.