Kubernetes runtimes
Kubernetes originally only supported Docker as a container runtime engine. But that is no longer the case. Kubernetes now supports several different runtimes:
Docker
(through a CRI shim)Rkt
(direct integration to be replaced with rktlet)Cri-o
Frakti
(Kubernetes on the hypervisor, previously Hypernetes)Rktlet
(CRI implementation for rkt)cri-containerd
A major design policy is that Kubernetes itself should be completely decoupled from specific runtimes. The Container Runtime Interface (CRI) enables this.
In this section, you'll get a closer look at the CRI and get to know the individual runtime engines. At the end of this section, you'll be able to make a well-informed decision about which runtime engine is appropriate for your use case and under what circumstances you may switch or even combine multiple runtimes in the same system.
The Container Runtime Interface (CRI)
The CRI is a gRPC API, containing specifications/requirements and libraries for container runtimes to integrate...