Limited Time Offer!

For Less Than the Cost of a Starbucks Coffee, Access All DevOpsSchool Videos on YouTube Unlimitedly.
Master DevOps, SRE, DevSecOps Skills!

Enroll Now

Docker Support is Removed from Kubernetes 1.23 version

The Kubernetes 1.24 release. The release will deprecate several (beta) APIs in favor of stable versions of the same APIs. The major change coming in the Kubernetes 1.24 release is the removal of Dockershim.

  • Kubernetes releases before v1.24 included a direct integration with Docker Engine, using a component named dockershim
  • That special direct integration is no longer part of Kubernetes.
  • Kubernetes support for Docker via dockershim is now removed.
  • Kubernetes is deprecating Docker as a container runtime after v1.20. At v1.20, you will get a deprecation warning for Docker.
  • Kubernetes has removed Docker as a container runtime in v1.23. 1.23 onwards, Docker runtime support of Kubernetes will no longer be supported
  • Docker-produced images will continue to work in your cluster with all runtimes.
  • Docker is still a useful tool for building containers, and the images that result from running docker build can still run in your Kubernetes cluster.
  • You will need to switch to one of the other compliant container runtimes, like containerd or CRI-O.
  • Dockershim has been removed from the Kubernetes project as of release 1.24.

Why Docker support is removed from Kubernetes?

Inside of your Kubernetes cluster, there’s a thing called a container runtime that’s responsible for pulling and running your container images. Docker is a popular choice for that runtime (other common options include containerd and CRI-O), but Docker was not designed to be embedded inside Kubernetes, and that causes a problem. Docker isn’t compliant with CRI, the Container Runtime Interface. If it were, we wouldn’t need the shim, and this wouldn’t be a thing.

What next?

As a developer, Docker is still useful to you in all the ways it was before this change was announced. The image that Docker produces isn’t really a Docker-specific image—it’s an OCI (Open Container Initiative) image. Any OCI-compliant image, regardless of the tool you use to build it, will look the same to Kubernetes. Both containerd and CRI-O know how to pull those images and run them. This is why we have a standard for what containers should look like.

Reference

  • https://kubernetes.io/blog/2020/12/02/dont-panic-kubernetes-and-docker/
  • https://kubernetes.io/docs/setup/production-environment/container-runtimes/
  • https://kubernetes.io/blog/2021/08/04/kubernetes-1-22-release-announcement/
  • https://kubernetes.io/blog/2022/04/07/upcoming-changes-in-kubernetes-1-24/
Rajesh Kumar
Follow me
Subscribe
Notify of
guest
0 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x