|
| 1 | +--- |
| 2 | +layout: blog |
| 3 | +title: "Kubernetes is Moving on From Dockershim: Commitments and Next Steps" |
| 4 | +date: 2022-01-07 |
| 5 | +slug: kubernetes-is-moving-on-from-dockershim |
| 6 | +--- |
| 7 | + |
| 8 | +**Authors:** Sergey Kanzhelev (Google), Jim Angel (Google), Davanum Srinivas (VMware), Shannon Kularathna (Google), Chris Short (AWS), Dawn Chen (Google) |
| 9 | + |
| 10 | +Kubernetes is removing dockershim in the upcoming v1.24 release. We're excited |
| 11 | +to reaffirm our community values by supporting open source container runtimes, |
| 12 | +enabling a smaller kubelet, and increasing engineering velocity for teams using |
| 13 | +Kubernetes. If you [use Docker Engine as a container runtime](/docs/tasks/administer-cluster/migrating-from-dockershim/find-out-runtime-you-use/) |
| 14 | +for your Kubernetes cluster, get ready to migrate in 1.24! To check if you're |
| 15 | +affected, refer to [Check whether dockershim deprecation affects you](/docs/tasks/administer-cluster/migrating-from-dockershim/check-if-dockershim-deprecation-affects-you/). |
| 16 | + |
| 17 | +## Why we’re moving away from dockershim |
| 18 | + |
| 19 | +Docker was the first container runtime used by Kubernetes. This is one of the |
| 20 | +reasons why Docker is so familiar to many Kubernetes users and enthusiasts. |
| 21 | +Docker support was hardcoded into Kubernetes – a component the project refers to |
| 22 | +as dockershim. |
| 23 | +As containerization became an industry standard, the Kubernetes project added support |
| 24 | +for additional runtimes. This culminated in the implementation of the |
| 25 | +container runtime interface (CRI), letting system components (like the kubelet) |
| 26 | +talk to container runtimes in a standardized way. As a result, dockershim became |
| 27 | +an anomaly in the Kubernetes project. |
| 28 | +Dependencies on Docker and dockershim have crept into various tools |
| 29 | +and projects in the CNCF ecosystem ecosystem, resulting in fragile code. |
| 30 | + |
| 31 | +By removing the |
| 32 | +dockershim CRI, we're embracing the first value of CNCF: "[Fast is better than |
| 33 | +slow](https://github.com/cncf/foundation/blob/master/charter.md#3-values)". |
| 34 | +Stay tuned for future communications on the topic! |
| 35 | + |
| 36 | +## Deprecation timeline |
| 37 | + |
| 38 | +We [formally announced](/blog/2020/12/08/kubernetes-1-20-release-announcement/) the dockershim deprecation in December 2020. Full removal is targeted |
| 39 | +in Kubernetes 1.24, in April 2022. This timeline |
| 40 | +aligns with our [deprecation policy](/docs/reference/using-api/deprecation-policy/#deprecating-a-feature-or-behavior), |
| 41 | +which states that deprecated behaviors must function for at least 1 year |
| 42 | +after their announced deprecation. |
| 43 | + |
| 44 | +We'll support Kubernetes version 1.23, which includes |
| 45 | +dockershim, for another year in the Kubernetes project. For managed |
| 46 | +Kubernetes providers, vendor support is likely to last even longer, but this is |
| 47 | +dependent on the companies themselves. Regardless, we're confident all cluster operations will have |
| 48 | +time to migrate. If you have more questions about the dockershim removal, refer |
| 49 | +to the [Dockershim Deprecation FAQ](/dockershim). |
| 50 | + |
| 51 | +We asked you whether you feel prepared for the migration from dockershim in this |
| 52 | +survey: [Are you ready for Dockershim removal](/blog/2021/11/12/are-you-ready-for-dockershim-removal/). |
| 53 | +We had over 600 responses. To everybody who took time filling out the survey, |
| 54 | +thank you. |
| 55 | + |
| 56 | +The results show that we still have a lot of ground to cover to help you to |
| 57 | +migrate smoothly. Other container runtimes exist, and have been promoted |
| 58 | +extensively. However, many users told us they still rely on dockershim, |
| 59 | +and sometimes have dependencies that need to be re-worked. Some of these |
| 60 | +dependencies are outside of your control. Based on your feedback, here are some |
| 61 | +of the steps we are taking to help. |
| 62 | + |
| 63 | +## Our next steps |
| 64 | + |
| 65 | +Based on the feedback you provided: |
| 66 | + |
| 67 | +- CNCF and the 1.24 release team are committed to delivering documentation in |
| 68 | + time for the 1.24 release. This includes more informative blog posts like this |
| 69 | + one, updating existing code samples, tutorials, and tasks, and producing a |
| 70 | + migration guide for cluster operators. |
| 71 | +- We are reaching out to the rest of the CNCF community to help prepare them for |
| 72 | + this change. |
| 73 | + |
| 74 | +If you're part of a project with dependencies on dockershim, or if you're |
| 75 | +interested in helping with the migration effort, please join us! There's always |
| 76 | +room for more contributors, whether to our transition tools or to our |
| 77 | +documentation. To get started, say hello in the |
| 78 | +[#sig-node](https://kubernetes.slack.com/archives/C0BP8PW9G) |
| 79 | +channel on [Kubernetes Slack](https://slack.kubernetes.io/)! |
| 80 | + |
| 81 | +## Final thoughts |
| 82 | + |
| 83 | +As a project, we've already seen cluster operators increasingly adopt other |
| 84 | +container runtimes through 2021. |
| 85 | +We believe there are no major blockers to migration. The steps we're taking to |
| 86 | +improve the migration experience will light the path more clearly for you. |
| 87 | + |
| 88 | +We understand that migration from dockershim is yet another action you may need to |
| 89 | +do to keep your Kubernetes infrastructure up to date. For most of you, this step |
| 90 | +will be straightforward and transparent. In some cases, you will encounter |
| 91 | +hiccups or issues. The community has discussed at length whether postponing the |
| 92 | +dockershim removal would be helpful. For example, we recently talked about it in |
| 93 | +the [SIG Node discussion on November 11th](https://docs.google.com/document/d/1Ne57gvidMEWXR70OxxnRkYquAoMpt56o75oZtg-OeBg/edit#bookmark=id.r77y11bgzid) |
| 94 | +and in the [Kubernetes Steering committee meeting held on December 6th](https://docs.google.com/document/d/1qazwMIHGeF3iUh5xMJIJ6PDr-S3bNkT8tNLRkSiOkOU/edit#bookmark=id.m0ir406av7jx). |
| 95 | +We already [postponed](https://github.com/kubernetes/enhancements/pull/2481/) it |
| 96 | +once in 2021 because the adoption rate of other |
| 97 | +runtimes was lower than we wanted, which also gave us more time to identify |
| 98 | +potential blocking issues. |
| 99 | + |
| 100 | +At this point, we believe that the value that you (and Kubernetes) gain from |
| 101 | +dockershim removal makes up for the migration effort you'll have. Start planning |
| 102 | +now to avoid surprises. We'll have more updates and guides before Kubernetes |
| 103 | +1.24 is released. |
0 commit comments