Blog Post

Apps on Azure Blog
2 MIN READ

Dockershim deprecation and AKS

Justin Davies's avatar
Justin Davies
Icon for Microsoft rankMicrosoft
Jan 22, 2022

The huge success of Docker in energizing the tech community around containers has been truly amazing to see.  As containers are the foundation of Kubernetes, it goes hand in hand that Docker was a core part of the platform. As Kubernetes matured, and the needs of the community and our customers grew, the tight coupling of Docker to Kubernetes through dockershim (the interface between the Kubernetes platform and the Docker runtime) needed to evolve. On 2 December 2020, with the release of Kubernetes 1.20, Kubernetes announced it is deprecating Docker as a container runtime, through the use of dockershim, in a future release of Kubernetes.

 

With the upcoming Kubernetes 1.24 release, dockershim will be removed.

 

If you are using a supported Kubernetes version in Azure Kubernetes Service (AKS):

  • For Linux node pools, there is no action required on your part. All supported Kubernetes versions on AKS use containerd as the default runtime for Kubernetes 1.19 and greater.
  • For Windows Server 2019 node pools, in January 2021, we announced the general availability of containerd as the default container runtime for Kubernetes 1.23 and greater. If you are using a cluster with a Kubernetes version prior to 1.23, you can create a new node pool with containerd enabled before the switch over to it being the default in 1.23 then move your pods to the new pool.

 

We work very closely with the community through our participation in the Kubernetes Special Interest Groups (SIG) from Storage, to Windows and everything in between and I'd like to thank both the community and our engineering teams for the work to get to this milestone.

Updated Jan 22, 2022
Version 1.0
  • MunirTajudin's avatar
    MunirTajudin
    Copper Contributor

    May i know what need to be done for people running AKS with docker runtime like AKS version 1.16.*, 1,17,* and 1,18* ? 

  • Hi MunirTajudin, for versions before 1.19 you would need to upgrade your Kubernetes version where containerd is the default runtime (in Linux), or Kubernetes 1.20 and above for Windows node pools.