Kubernetes v1.34 is just around the corner, with the official release planned for August 27, 2025. This version doesn’t bring any deprecations or removals, but it does introduce a number of exciting enhancements and feature updates that continue to make Kubernetes more powerful, flexible, and easier to operate. In this sneak peek, we’ll walk through some of the key improvements you can expect in v1.34. Keep in mind that these features are still under active development, so things may change slightly by the time the release goes GA.
Featured Enhancements
a. Dynamic Resource Allocation (DRA)
Dynamic Resource Allocation (DRA) is a powerful framework in Kubernetes that makes managing hardware like GPUs and other specialized devices much easier. It introduces a set of new API types: ResourceClaim, DeviceClass, ResourceClaimTemplate, and ResourceSlice, all grouped under the resource.k8s.io API group. With DRA, cluster administrators can define device “classes” (for example, GPU types) and users can make device requests simply using a new resourceClaims field directly in their Pod specifications. Kubernetes then matches these claims to available devices, using flexible filtering powered by CEL expressions, and ensures Pods are placed on nodes with the needed hardware. This structured, centralized approach not only simplifies resource requests but also makes device handling more robust and scalable. In Kubernetes v1.34, as DRA is moving from alpha to Stable, meaning the resource.k8s.io/v1 APIs will be enabled by default upon release.
b. ServiceAccount Tokens for Image Pull Authentication
Beta by Default
Kubernetes v1.34 introduces a much safer, simpler way for the kubelet to pull images from protected container registries. Instead of using long-lived pull secrets, Kubernetes will now use short-lived ServiceAccount tokens that are automatically rotated and tied to a specific Pod. This change means credentials are pod-scoped and temporary, reducing the risk of exposure and making management much easier. This feature is expected to be enabled by default.
c. KYAML Support
Kubernetes v1.34 introduces KYAML, a cleaner and safer version of YAML designed specifically for Kubernetes configurations. KYAML solves common YAML issues by always double-quoting value strings (so things like "NO" stay strings and don’t accidentally become booleans), only quoting keys when needed, and using explicit {} for maps and [] for lists. This structured format avoids tricky whitespace problems, yet still lets you write comments and include trailing commas. While KYAML won’t be required for input, you’ll be able to request output from kubectl using it, by running commands like kubectl get <resource> -o kyaml, as an optional feature in v1.34.
d. Production-Ready Tracing for kubelet and API Server
Graduation to Stable
In Kubernetes v1.34, both the kubelet and the API Server gain stable, production-ready tracing capabilities using the OpenTelemetry standard. The kubelet now traces its gRPC calls to the Container Runtime Interface (CRI), passing a trace ID along with each call so operators can connect logs across the container lifecycle. At the same time, the API Server also emits trace data, enabling seamless end-to-end observability from control-plane actions all the way down to node operations. This unified tracing makes it much easier to understand the flow of operations, spot where latency or errors occur, and debug issues across components.
e. Pod Replacement Policy for Deployments
In Kubernetes v1.34, there's a new experimental option for Deployments called .spec.podReplacementPolicy, which gives you more control over how new Pods are brought up during updates. You can choose between two strategies: TerminationStarted, which creates new Pods as soon as old ones begin shutting down (speeding up rollouts, but using more resources temporarily), or TerminationComplete, which waits for old Pods to fully terminate before launching new ones (slower rollouts, but gentler on resources). This feature helps admins in environments with tight resource limits plan rollouts more predictably. Since it's in alpha, you'll need to turn it on using the DeploymentPodReplacementPolicy and DeploymentReplicaSetTerminatingReplicas feature gates.
f. Enhanced Traffic Distribution
Alpha to BetaKubernetes v1.34 introduces smarter traffic routing options for Services through the new spec.trafficDistribution field. Two values are:
PreferSameZone: this continues the previous behavior (formerly known as PreferClose), directing traffic to endpoints in the same zone.
PreferSameNode: this new option prioritizes sending traffic to endpoints located on the same node as the client, reducing network hops and improving latency when possible.
These options help make traffic routing more predictable and efficient, especially in environments where locality matters for performance or cost.
g. HPA Configurable Tolerance
In Kubernetes v1.34, the Horizontal Pod Autoscaler (HPA) gives you more control over how and when scaling happens by letting you set your own tolerance values for each HPA. Instead of relying on the old, cluster-wide 10% rule for deciding when to scale up or down, you can now define custom tolerance levels in the spec.behavior.scaleUp and spec.behavior.scaleDown sections of the HPA. This means you can have a tight tolerance: say, 5% for fast-reacting workloads, or a larger threshold like 15%, to reduce unnecessary scaling for more stable workloads. This flexibility helps you prevent situations where hundreds of extra pods are spun up needlessly, which is especially helpful in large-scale deployments.
To dive deeper into the release, make sure to check the official Release Notes and CHANGELOG for the most accurate details on what ships with Kubernetes v1.34. If you’d like to get involved or keep up with ongoing discussions, consider joining the Kubernetes community through SIGs, community meetings, or forums. They’re a great way to both contribute and stay informed.
