
Kubernetes 1.37 ships August 26, and the sneak peek published July 31 gives operators enough to plan with. Eighty-six enhancements are on the tracker — sixteen graduating to stable — and buried in the list is a deprecation warning that anyone still running kube-proxy in IPVS mode needs to act on now, not after the release drops.
kube-proxy IPVS Is Officially on Its Way Out
Starting with 1.37, kube-proxy logs a deprecation warning on startup when it detects IPVS mode. That warning is the first step in a three-release countdown:
- 1.37 (August 2026): Deprecation warning on startup
- 1.40 (April 2027): IPVS disabled by default
- 1.43 (April 2028): IPVS removed entirely
Three releases is not a lot of runway, especially if your organization runs on a six-month upgrade cadence. Check your configuration now:
kubectl -n kube-system get configmap kube-proxy -o jsonpath='{.data.config\.conf}' | grep 'mode:'
If the output shows mode: ipvs, start your migration. The replacement is nftables, which delivers the same O(1) lookup performance IPVS was known for — without the maintenance baggage. Migrating is a two-step process that does not require draining nodes:
kubectl edit configmap -n kube-system kube-proxy
# Change mode: ipvs to mode: nftables
kubectl rollout restart daemonset kube-proxy -n kube-system
kube-proxy restarts node-by-node as a DaemonSet and cleans up existing IPVS rules automatically. The Tigera migration guide covers edge cases around custom session affinity configurations worth reading before you flip the switch in production.
HPA Scale-to-Zero Hits Beta — No KEDA Required
The HPAScaleToZero feature gate moves to beta in 1.37, making it possible for Horizontal Pod Autoscaler to scale a deployment to zero replicas. For queue-based worker deployments that sit idle between jobs, this means zero infrastructure cost at idle — a capability that previously required KEDA or Knative.
There is one constraint: scale-to-zero only works with external or object metrics, not CPU or memory. The HPA controller cannot calculate a target from a utilization percentage when the current replica count is zero. You need a metric that expresses demand independent of pod count, like a queue depth:
spec:
minReplicas: 0
maxReplicas: 10
metrics:
- type: External
external:
metric:
name: queue_messages_visible
target:
type: Value
value: "0"
The default five-minute stabilization window prevents flapping on bursty queues before the HPA scales to zero. KEDA remains useful for its extensive event source connectors, but the fundamental “scale to zero when idle” use case is now native Kubernetes. The HPA scale-to-zero KEP has full implementation details for teams customizing stabilization behavior.
DRA Graduates: GPU Cluster Management Gets a Real API
Dynamic Resource Allocation’s device taints and tolerations (KEP-5055) graduate to stable. If you run GPU clusters, this is the feature the device plugin model was missing: the ability to mark degraded hardware as unhealthy and control which workloads land on it.
The model mirrors node taints. A DRA driver or admin creates a DeviceTaintRule targeting a specific GPU. Workloads without a matching toleration are blocked. Workloads that tolerate the taint — a debugging job or a fault-tolerant training run — proceed. No more manual cordon-and-drain sequences when a GPU starts failing ECC checks.
Also reaching stable: DRA device attributes in the Downward API (KEP-5304). Pods can read their own device metadata — PCIe address, UUID, NUMA node — from a mounted file without making any Kubernetes API calls. Distributed training jobs using NCCL need hardware topology at startup; this delivers it cleanly.
Other Notables in 1.37
Pod-level resources (KEP-2837) graduate to stable, letting you set resource requests and limits at the pod level rather than per-container. For sidecar-heavy workloads, this eliminates the guesswork of padding individual container limits when the containers share a single workload’s resource budget.
Under the hood, the API server gets faster. Internal type elimination delivers 5.7x faster pod list conversions with 3.3x lower memory usage. CBOR serialization for CRDs hits 8x faster encoding versus JSON. These are not features you configure — they just make your control plane cheaper to operate at scale.
Three Things to Do Before August 26
- Check your kube-proxy mode. Run the grep command above. If you see
mode: ipvs, schedule your nftables migration before upgrading. - Audit your containerd version. Kubernetes 1.37 ends support for containerd 1.x. Nodes on 1.7.x or earlier need to upgrade to containerd 2.0 before you move to 1.37.
- Test HPAScaleToZero for idle workloads. Queue-based deployments with external metrics should test this in staging now. It is stable enough for evaluation on any cluster you can upgrade early.
The full feature breakdown from Cloudsmith covers all 86 enhancements if you want the complete picture ahead of the August 26 release.













