From version 1.20 onwards, Kubernetes will no longer support Docker in the same way it did before. But while some admins were quick to panic, the change is not as drastic as it might sound.
In the Kubernetes 1.20 release notes, the container orchestrator said “Docker support in the kubelet is now deprecated and will be removed in a future release.”
As per a report from The Register, CNCF Ambassador Ian Coldwater took to Twitter to warn the developers of the change, saying: “Docker support is being deprecated in Kubernetes. You need to pay attention to this and plan for it. THIS WILL BREAK YOUR CLUSTERS.”
However, there seems to be more to the story:
“The kubelet uses a module called ‘dockershim’ which implements CRI support for Docker and it has seen maintenance issues in the Kubernetes community. We encourage you to evaluate moving to a container runtime that is a full-fledged implementation of CRI (v1alpha1 or v1 compliant) as they become available,” the release notes read.
Kelsey Hightower, a Staff Developer Advocate at Google Cloud, also waded in on the issue, clarifying that Docker is not just for containers.
“There are container images. Docker can build them. There are container registries. Docker can push and pull from them. There are container runtimes. Docker is one of them. There are container processes. Docker can create them but Linux is still the boss.”
In other words, Docker can do a lot more, and will continue to do so. Essentially, the issue boils down to Docker being swapped for CRI runtimes.
The change has been described, in detail, on the latest Kubernetes blog, Don’t Panic: Kubernetes and Docker, which you can read here.