Kubernetes v1.32: What’s New?

Kubernetes v1.32 is set to release on December 11, and like previous versions, Kubernetes v1.32 brings a mix of stable, beta, and alpha features. A total of 45 enhancements are tracked for the code freeze in this release. Among these, 13 have graduated to stable, 12 are moving to Beta, and 18 have progressed to Alpha, with one feature marked for deprecation.Let’s get started with some of the exciting features and enhancements that k8s v1.32 is coming up with and how it can help its end users.

Features Graduating to Stable Stage

Auto-remove PVCs created by StatefulSet (1847)

Feature Group: sig-storage

Provides a feature to auto-delete the PVCs created by StatefulSet when the volumes are no longer in use to ease management of StatefulSets that don't live indefinitely. As the application state should survive over StatefulSet maintenance, the feature ensures that the pod restarts due to non-scale-down events such as rolling update or node drain do not delete the PVC.

Sleep Action for PreStop Hook (#3960) 

Feature Group: sig-node

This allows containers to pause for some duration before termination. This provides a more straightforward way to manage graceful shutdowns improve the overall lifecycle management of containers, and handle new connections from clients that have not yet finished endpoint termination during the pod termination.

Features moving to Beta

Kubelet OpenTelemetry Tracing (#2831)

Feature-group: sig-node

The kubelet generates and exports span for reconcile loops it initiates and for incoming/outgoing requests to the kubelet's authenticated HTTP servers, as well as the CRI, CNI, and CSI interfaces. An example of a reconcile loop is the creation of a pod. Pod creation involves pulling the image, creating the pod sandbox, and creating the container. With stateful workloads, attachment and mounting of volumes referred by a pod might be included. Trace data can be used to diagnose latency within such flows.

Add options to reject non-SMT-aligned workload (#2625)

Feature-Group: sig-node

This feature prevents workloads from requesting cores that don't consume a full CPU by rejecting them. This guarantees that no physical core is shared among different containers, which improves cache efficiency and mitigates the interference with other workloads that can consume resources of the same physical core, e.g. first-level caches.

 Support managed-by mechanism for  Jobs (#4368)

Feature-Group: sig-node

This feature introduces a 'managedBy' field for Kubernetes Jobs, enabling external controllers to manage job synchronization facilitating multi-cluster job dispatching by allowing Jobs created in a management cluster to be mirrored in worker clusters.

Features moving to Alpha

Flagz for Kubernetes Components (#4828)

Feature-Group: sig-instrumentation

It provides distinct flags for kubernetes components that help users with the ability to dynamically inspect and understand the active flags of running Kubernetes components.

Statusz for Kubernetes Component (4827) 

Feature-Group: sig- Instrumentation

This feature helps operations to troubleshoot a performance issue and easily check for dependency conflicts or version mismatches without sifting through logs by adding a new endpoint, /statusz on all core Kubernetes components.

VolumeSource: OCI Artifact or OCI Image (#4639) 

Feature-Group: sig-storage

This feature introduces a new `VolumeSource` type that allows mounting OCI images and/or artifacts, simplifies the process of sharing files among containers in a pod, and provides a runtime guideline of how artifact files and directories should be mounted.

Allow setting of resource requests & limits at Pod level (#2837)

Feature-Group: sig-architecture

Currently, resource allocation on PodSpec is container-centric, allowing users to specify resource requests and limits for each container. This feature extends the Pod API to allow specifying resource specs (requests and limits) at the pod level. This is also compatible with existing usage of container-level requests/limits, and other features like topology manager, memory manager, VPA, etc.

Split “stdout” and “stderr” log stream of container (#3288)

Feature-Group: sig-api-machinery

Currently, kubelet actually has the potential to return a certain log stream of a container, but this ability is not exposed to the user. This feature enables an API server to return a specific log stream of a container and to fetch a specific log stream of a container.

In-Place Update of Pod Resources (#1287)

Feature-Group: sig-autoscaling

Currently, changing resource allocation requires the Pod to be recreated since the PodSpec's Container Resources are immutable while many stateless workloads are designed to withstand such a disruption, some are more sensitive, especially when using a low number of Pod replicas.

Primary: allow to change container resource requests & limits without necessarily restarting the container.

Secondary: allow actors (users, VPA, StatefulSet, JobController) to decide how to proceed if in-place resource resize is not possible.

Secondary: allow users to specify which Containers can be resized without a restart.

DRA: Structured parameter (#1287)

Feature-Group: sig-node

The original dynamic resource allocation (DRA) uses claim and class parameters that are opaque to Kubernetes. With structured parameters, the kube-scheduler and Cluster Autoscaler can handle simulated claim allocation themselves without relying on a third-party driver.

Retry Generate Name (#4420)

Feature-Group: sig-api-machinery

This feature helps create requests using “generateName” that are retried automatically by the API server when the generated name conflicts with an existing resource name, up to a max limit of 7 retries.

Conclusion

Kubernetes v1.32 is coming up with lots of exciting changes and the adoption of these improvements is crucial in keeping your infrastructure modern, secure, and optimized for the future. If you liked this blog and want to see the changes in the previous Kubernetes version, please refer to the blogs below.

Kubernetes 1.31: Here’s what you should know about!
TL;DR: Kubernetes 1.31 is packed with new features, including improved security, resource management and traffic distribution, making it a significant upgrade for developers and administrators. Get ready for a more robust and efficient Kubernetes experience!
Kubernetes 1.27: Here’s what you should know about!
TL;DR: Kubernetes v1.27 is about to release and there are some awesome features, enhancements, and deprecations it brings to the table. In this blog we discussed some of the best updates it brings to the community.