This article was originally published on the VMBlog here and adapted for Medium.

When you think of Kubernetes you think of containers. When you think of containers you think Docker. So it was a big surprise when, in December 2020, the Kubernetes maintainers announced that it would be deprecating Docker support for Kubernetes v1.20+. This caused quite a bit of concern and confusion.

Deprecating Docker support in Kubernetes? This sounded like a very topical piece of information in 2020. While the term Docker is synonymous with containers, many do not realize that as a product, Docker is composed of multiple components and is a tech stack for containers.

One of these components is the container runtime, which is what Kubernetes needs in order to interact with your containers. The container runtime can be broken down into a high-level runtime and a low-level runtime. Both of which serve different purposes but work together. The high-level runtime focuses on things such as pulling images from registries, managing the image, and handing the images to the low-level runtime. The low-level runtime will then create, delete, and run containers off of the images provided. The high-level and low-level runtimes follow specification specifications — Container Runtime Interface (CRI) and Open Container Initiative respectively.

#software-development #containers #kubernetes #cloud-computing #docker

Kubernetes Deprecating Docker?! Let Me Explain Containers in K8s
1.35 GEEK