Kubernetes Container Runtime Concepts: Difference between revisions
No edit summary |
|||
Line 7: | Line 7: | ||
* [[Kubernetes Concepts#Container_Runtime|Kubernetes Concepts]] | * [[Kubernetes Concepts#Container_Runtime|Kubernetes Concepts]] | ||
* [[Docker Concepts]] | * [[Docker Concepts]] | ||
=<span id='CRI'></span>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= | =Container Runtime= | ||
Line 12: | Line 15: | ||
Each Kubernetes [[Kubernetes_Control_Plane_and_Data_Plane_Concepts#Container_Runtime|node]] runs a container runtime, usually Docker. However, support for other container runtimes is available, via [[#CRI|Container Runtime Interface (CRI)]]. A container runtime performs container-related tasks such as pulling images and starting and stopping containers. | Each Kubernetes [[Kubernetes_Control_Plane_and_Data_Plane_Concepts#Container_Runtime|node]] runs a container runtime, usually Docker. However, support for other container runtimes is available, via [[#CRI|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|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). |
Revision as of 21:31, 21 August 2019
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).