What’s New in Kubernetes 1.24? Key Features and Changes Explained
Kubernetes 1.24, released in early 2022, introduces 46 enhancements—including the removal of dockershim, default‑off test APIs, signed release artifacts, OpenAPI v3 support, GA storage capacity tracking and volume expansion, new CNI requirements, and numerous API graduations—while also deprecating or deleting several legacy components.
Kubernetes 1.24, released in early 2022, introduces 46 enhancements. Fourteen features graduate to GA, fifteen to beta, thirteen remain in alpha, and four are deprecated or removed.
Major Themes
Dockershim Removal
The dockershim component is completely removed from the kubelet. Clusters must now use a supported container runtime such as containerd or CRI‑O . For environments that still rely on Docker Engine, the cri-dockerd shim can be used as a compatibility layer. See the migration guide at
https://kubernetes.io/blog/2022/03/31/ready-for-dockershim-removal/.
Test APIs Disabled by Default
All new alpha test APIs are disabled by default in a fresh cluster. Existing beta APIs and newer versions of those APIs remain enabled. The enhancement tracking this change is documented at https://github.com/kubernetes/enhancements/issues/3136.
Signed Release Artifacts
Release binaries are now signed with cosign ( https://github.com/sigstore/cosign) and experimental support for verifying image signatures is available (
https://kubernetes.io/docs/tasks/administer-cluster/verify-signed-images/). This improves the software‑supply‑chain security of the Kubernetes release process.
OpenAPI v3 Support
Kubernetes 1.24 adds beta support for publishing the API in OpenAPI v3 format ( https://github.com/kubernetes/enhancements/issues/2896).
Storage Capacity Tracking & CSI Volume Expansion (GA)
The new CSIStorageCapacity API object tracks available storage capacity per topology, enabling late binding for CSI volumes (
https://kubernetes.io/docs/concepts/storage/storage-capacity/#api). CSI volume expansion also graduates to GA, allowing dynamic resizing of PersistentVolumes ( https://github.com/kubernetes/enhancements/issues/284).
Non‑Preempting PriorityClass
A nonPreempting option is added to PriorityClass, allowing pods to be scheduled without preempting higher‑priority workloads ( https://github.com/kubernetes/enhancements/issues/902).
In‑Tree Storage Plugin Migration
Work continues to migrate in‑tree storage plugins to CSI drivers. The Azure Disk and OpenStack Cinder plugins have already been migrated ( https://github.com/kubernetes/enhancements/issues/1490, https://github.com/kubernetes/enhancements/issues/1489).
gRPC Probes (Beta)
gRPC probes are now in beta and enabled by default, allowing native liveness, readiness, and startup probes for gRPC services without sidecars ( https://github.com/kubernetes/enhancements/issues/2727).
Kubelet Credential Provider (Beta)
The kubelet credential provider, introduced as alpha in 1.20, graduates to beta. It enables the kubelet to retrieve image registry credentials via exec plugins instead of storing them on the node (
https://kubernetes.io/docs/tasks/kubelet-credential-provider/kubelet-credential-provider/).
Contextual Logging (Alpha)
Contextual logging lets callers control log format, verbosity, and additional fields, providing finer‑grained observability ( https://github.com/kubernetes/enhancements/issues/3077).
Service IP Soft‑Reservation
A new feature allows clusters to reserve a static sub‑range of service IPs, reducing the risk of IP conflicts when allocating ClusterIP services (
https://kubernetes.io/docs/concepts/services-networking/service/#service-ip-static-sub-range).
CNI Version Compatibility
Before upgrading, ensure the container runtime is compatible: containerd >= 1.6.4 (or >= 1.5.11) and CRI‑O >= 1.24. Versions 1.6.0–1.6.3 of containerd have known CNI networking issues that are fixed in 1.6.4.
Other Notable GA Features
CSI Volume Expansion
Pod Overhead support (resource accounting for pod sandbox)
Non‑preempting option for PriorityClass Storage Capacity Tracking via CSIStorageCapacity Azure Disk and OpenStack Cinder in‑tree to CSI driver migrations
Efficient watch resumption after API server restart
Service annotation service.kubernetes.io/load-balancer-class to select among multiple LoadBalancer implementations
Indexed Job – adds a completion index for Jobs with a fixed completion count
Suspend field in the Jobs API for finer control of pod creation
NamespaceSelector field for PodAffinity/PodAntiAffinity
Leader migration for kube-controller-manager and cloud-controller-manager to reduce HA downtime
CertificateSigningRequest duration extension to specify certificate lifetimes
Release Notes and Binaries
Full release notes are available at
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.24.md. Binaries can be downloaded from the official release page
https://github.com/kubernetes/kubernetes/releases/tag/v1.24.0. Quick‑start options include kind ( https://kind.sigs.k8s.io/) and kubeadm (
https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/).
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Cloud Native Technology Community
The Cloud Native Technology Community, part of the CNBPA Cloud Native Technology Practice Alliance, focuses on evangelizing cutting‑edge cloud‑native technologies and practical implementations. It shares in‑depth content, case studies, and event/meetup information on containers, Kubernetes, DevOps, Service Mesh, and other cloud‑native tech, along with updates from the CNBPA alliance.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
