Kubernetes Container Runtime Concepts
External
Internal
Container Runtime Interface (CRI)
The Container Runtime Interface (CRI) is an abstraction layer that standardizes the way third-party container runtimes interface with Kubernetes. Irrespective of the container runtime in use, the regular Kubernetes commands and patterns apply. CRI exposes a clean documented interface for third-party container runtimes to plug in to.
Container Runtime
Each Kubernetes node runs a container runtime, usually Docker. However, support for other container runtimes is available, via Container Runtime Interface (CRI). A container runtime performs container-related tasks such as pulling images and starting and stopping containers.
Available Container Runtimes=
Docker
Kubernetes and Docker are complementary technologies. Docker is the technology that starts and stops containers under Kubernetes' supervision. Kubernetes is the higher-level technology that decides which nodes to run containers on, when to scale an application up or down or when to apply updates.
containerd
A container runtime that consists in a stripped-down version of Docker. containerd is a CNCF project.
cri-containerd
A community-based Open Source port of containerd.
Runtime Classes
Runtime classes is a feature that was introduced in Kubernetes 1.2. It allows for different classes of runtimes (gVisor, Kata Containers, etc).