Skip to main content

About container runtimes in 2 minutes

  • October 14, 2023
  • 2 comments
  • 511 views

leduardoserrano
Forum|alt.badge.img+6

Container runtimes are fundamental components of Kubernetes. It is responsible for managing the execution and lifecycle of containers, and it is necessary to choose and install a container runtime into each worker node in the Kubernetes cluster to run PODs.

 

Container runtimes can be categorized into:

• High-level container runtimes: CRI-O, containerd and Docker.

• Low-level container runtimes: runc and crun.

• Sandboxed and virtual container runtimes: runsc (from gVisor) and kata-runtime/the-runtime (from Kata Containers).

 

The Container Runtime Interface (CRI) is the specification in charge of the communication between the kubelet and the high-level runtimes. The CRI defines gRPC APIs that allow the kubelet to interact as a client with different runtimes. CRI performs an abstraction layer for high-level runtimes.

 

The high-level runtimes use a lower-level container runtime to run and manage the components required to deploy and operate containers. Open Container Initiative (OCI) specifications allow the integration of different high- and low-level runtimes.

 

The OCI Runtime Specification is one of the three specifications defined by OCI. It describes the requirements for the runtime environment, the interfaces for containers, and the minimum set of functionalities that high and low-level runtimes must provide to be considered OCI compliant.

 

For more information:

https://kubernetes.io/docs/setup/production-environment/container-runtimes/

 

 

2 comments

Chris.Childerhose
Forum|alt.badge.img+21
  • Veeam Legend, Veeam Vanguard
  • 9585 comments
  • October 14, 2023

Interesting post. Enjoy learning about Kubernetes stuff. Thanks for sharing.


NZ_BenThomas
Forum|alt.badge.img+3
  • Veeam Vanguard
  • 93 comments
  • October 15, 2023

Nice share, always appreciate the visuals to help explain things