Kubernetes v1.32: Key Features, Updates, and What You Need to Know


The Kubernetes v1.32 release introduces significant advancements in resource management, security, scheduling, and observability. With a mix of 13 graduating features, 12 beta enhancements, and 19 got added in alpha, Kubernetes continues to refine its capabilities for production-grade workloads.
In this blog, we’ll explore the top highlights of Kubernetes v1.32.
One of the biggest questions people often have is how they can try out the new Kubernetes version as soon as it is released. Cloud providers take some time to update the Kubernetes version, and until then, if you want to test your applications before planning upgrades, the best way is to use vCluster. vCluster allows you to create a Kubernetes 1.32 version (the latest version at the time of writing this blog) with very simple steps.
Create the below vcluster.yaml file:
controlPlane:
distro:
k8s:
version: v1.32.0
Create the virtual cluster:
vcluster create k8s132 -f vcluster.yaml
Make sure the context is changed to virtual cluster and then you can check using:
Command:
kubectl get nodes
Output:
NAME STATUS ROLES AGE VERSION
pool-wq5qz4aix-wt0h3 Ready <none> 8h v1.32.0
Now on the HOST cluster you can check the stateful set that got created is actually pulling the 1.32 control plane images
Command:
kubectl get ns | grep k8s
Output:
vcluster-k8s132 Active 3m59s
Command:
kubectl get pods -n vcluster-k8s132
Output:
NAME READY STATUS RESTARTS AGE
coredns-76d5454c89-x8xc4-x-kube-system-x-k8s132 1/1 Running 0 3m17s
k8s132-0 1/1 Running 0 3m58s
nginx-x-default-x-k8s132 1/1 Running 0 59s
Command:
kubectl describe pods k8s132-0 -n vcluster-k8s132
Output:
In the events section you can see:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 4m16s default-scheduler 0/3 nodes are available: pod has unbound immediate PersistentVolumeClaims. preemption: 0/3 nodes are available: 3 Preemption is not helpful for scheduling.
Normal Scheduled 4m14s default-scheduler Successfully assigned vcluster-k8s132/k8s132-0 to pool-wq5qz4aix-wt0h8
Normal SuccessfulAttachVolume 4m11s attachdetach-controller AttachVolume.Attach succeeded for volume "pvc-65b85d4a-9d37-405d-9e91-829cb822c9ef"
Normal Pulled 4m10s kubelet Container image "ghcr.io/loft-sh/vcluster-pro:0.21.1" already present on machine
Normal Created 4m10s kubelet Created container vcluster-copy
Normal Started 4m9s kubelet Started container vcluster-copy
Normal Pulling 4m6s kubelet Pulling image "registry.k8s.io/kube-controller-manager:v1.32.0"
Normal Pulled 4m4s kubelet Successfully pulled image "registry.k8s.io/kube-controller-manager:v1.32.0" in 2.553s (2.553s including waiting). Image size: 26254834 bytes.
Normal Created 4m4s kubelet Created container kube-controller-manager
Normal Started 4m3s kubelet Started container kube-controller-manager
Normal Pulling 3m59s kubelet Pulling image "registry.k8s.io/kube-apiserver:v1.32.0"
Normal Pulled 3m57s kubelet Successfully pulled image "registry.k8s.io/kube-apiserver:v1.32.0" in 2.281s (2.281s including waiting). Image size: 28670542 bytes.
It’s simple to get your 1.32 cluster on your existing host cluster and plan your upgrades accordingly.
Note: While Kubernetes 1.32 has not been officially tested with vCluster, you can still try it and help identify any issues as we work towards finalizing support.
Kubernetes v1.32 introduces the strict-cpu-reservation option under the CPU Manager Static Policy.
You need to change the Kubelet config.yaml file and then restart kubelet in order for this to work.
featureGates:
CPUManagerPolicyOptions: true
CPUManagerPolicyAlphaOptions: true
cpuManagerPolicy: static
cpuManagerPolicyOptions:
strict-cpu-reservation: "true"
reservedSystemCPUs: "0,32,1,33,16,48"
Memory Manager Goes GA
After rigorous testing since beta, the Memory Manager feature has officially reached General Availability.
Fine-grained Kubelet API Authorization
As per the KEP 2862 This is a new alpha feature that adds fine-grained kubelet API Authz checks for kubelet /configz, /healthz and /pods API. This allows users to access the kubelet API without granting the nodes/proxy resource permission to the caller. Instead the caller can be granted nodes/configz, nodes/healthz and nodes/pods respectively
Kubernetes v1.32 improves audit capabilities:
⚙️ Improved Scheduling and Efficiency
Scheduling gets smarter with Asynchronous Preemption (alpha), decoupling pod eviction logic from the main scheduling cycle.
This stable feature simplifies resource management by automatically deleting PVCs created by StatefulSets when no longer in use.
Beta support for VolumeGroupSnapshot allows crash-consistent snapshots across multiple PVCs.
Two new endpoints, /statusz and /flagz, enhance debugging for Kubernetes core components:
These endpoints streamline cluster diagnostics, reducing time spent debugging misconfigurations.
Kubernetes v1.32 introduces graceful shutdown for Windows nodes, ensuring proper execution of pre-stop hooks and pod cleanup during node shutdowns.
Kubernetes v1.32 continues to evolve with a focus on performance, security, and developer experience. Whether it’s strict CPU isolation, robust storage management, or advanced observability tools, this release provides valuable improvements for all Kubernetes users.
As Kubernetes celebrates 10 years of innovation, v1.32 reflects the community’s commitment to refining the platform for modern workloads.
For the full details, check out the official Kubernetes v1.32 release notes.
Deploy your first virtual cluster today.