The Kubernetes project has released version 1.24 of its ubiquitous container orchestration system, Stargazer – the first release of 2022 and just ahead of the KubeCon Europe event which begins on 16th May.
The Dockershim code, deprecated in version 1.20 (released at the end of 2020), has now been removed completely.
Dockershim is software that enables the Docker engine as the container runtime in Kubernetes. Early versions of Kubernetes worked only with this engine, but in 2016 the CRI (Container Runtime Interface) was introduced, to enable interoperability with any conformant runtime. The Docker engine does not support CRI which is why the shim was required. Other runtimes that do support CRI include containerd and CRI-O.
These runtimes do support Docker container images so this is not in any sense a removal of “Docker support” and Docker (the company) is fully supportive of the change, remarking that “Docker created the containerd project, along with Google and IBM, in 2016, with the goal of this transition in mind.”
Problems can still arise if deployments have a dependency on Docker such as executing Docker commands within Pods (collections of containers), or using third-party tools that do this. Mirantis and Docker have created a replacement Docker Engine adapter called cri-dockerd that can be used with Kubernetes 1.24.
This release also includes new features. New beta APIs will be disabled by default, though existing beta APIs will continue to be enabled by default which is a tad confusing (though necessary for compatibility). One such new beta API is that the Kubernetes API now supports the OpenAPI v3 format. OpenAPI is based on the specification originally called Swagger.
Other features include the ability to resize persistent volumes, a feature previously in beta but now generally available, as is storage capacity tracking. The Kubelet Credential Provider, which avoids the need to store credentials for container registries locally, has graduated from alpha to beta. Contextual logging adds the ability for the caller of function to control logging formats and what is included in logs. Static IP assignments for services can now be automatically assigned from a configured range.
The Kubernetes team notes that contributions to 1.24 came from 1029 companies and 1179 individuals.