Back openDesk Edu for a sovereign, open-source education — every vote counts.
Vote nowSave products you love by clicking the heart icon.
LLMs can generate Terraform code—but only 3 out of 7 models produce security-compliant IaC. A recent study benchmarks models for secure infrastructure generation and reveals how to use AI safely.
Kubernetes v1.37 — codenamed Garhwal, after a Himalayan region in Uttarakhand, India — landed on 26 August 2026. It ships 67 enhancements: 16 graduated to Stable, 23 to Beta, 27 to Alpha, and one deprecation/removal. As usual, the release is less about headline features and more about the quiet maturity of the control plane: fewer outages under load, first-class workload identity, and real scheduling primitives for AI/ML and HPC.
This article walks through what actually changed and what you should plan for before you upgrade. For the canonical list, see the upstream release blog.
The headline stability work is the completion of resilient watchcache initialization. The WatchCacheInitializationPostStartHook gate is now Stable and locked on (it already defaulted to on since v1.36). The practical effect: when the API server starts or recovers, watch-cache warm-up no longer floods etcd with list/watch requests. Instead of letting expensive requests overload etcd or exhaust API Priority and Fairness, kube-apiserver now delegates bounded requests and rejects the rest with HTTP 429. That directly lowers the risk of control-plane outages in large clusters — and it is a signal to operators: your controllers and operators must handle 429 Too Many Requests gracefully (respect Retry-After, exponential backoff).
Two supporting changes land alongside it: etcd RangeStream (Beta, on by default, needs etcd 3.7+) streams large lists in chunks instead of buffering one blob, and ConcurrentWatchObjectDecode (now on by default) moves per-event decode/transform onto a bounded worker pool — together cutting cache-init time by roughly 40–55 % at scale. And the metrics.k8s.io API finally graduates to Stable after nearly nine years in Beta, locking in the standard way HPA and kubectl top read CPU/memory. KYAML, a safer YAML subset, also reaches Stable (kubectl get -o kyaml).
One of the most consequential GA features is Pod Certificates and ClusterTrustBundles (SIG Auth). Kubernetes now has first-class support for distributing private keys, X.509 certificates, and trust bundles to Pods:
PodCertificateRequest objects, issues and refreshes certs for eligible Pods, and maintains the matching ClusterTrustBundle.podCertificate projected volume with a chosen signer name, and can mount a ClusterTrustBundle projected volume for trust anchors.This removes a whole class of bespoke init-container/cert-rotator glue and is directly useful for mTLS, SPIFFE-style identity, and service-mesh bootstrap — squarely in the sovereignty/security territory this site keeps returning to.
Manifest-based admission control graduates to Beta: admission webhooks and CEL policies can be loaded from manifest files on disk (staticManifestsDir in AdmissionConfiguration) instead of only the Kubernetes API. Policies loaded this way are enforced from API-server startup, keep working while etcd is unavailable, and can protect the API-based admission resources themselves from modification. For clusters where admission is the last line of defense, that bootstrap-time enforcement matters.
Also Beta: improved handling for undecryptable resources — admins can now find and remove resources the API server can no longer decrypt via the API (with safeguards), instead of poking at etcd directly.
This is where v1.37 does the most interesting work, and it aligns with the industry's pivot to training and inference at scale.
PodGroup: all-or-nothing scheduling so a group of Pods only lands when the cluster can host the whole group — preventing the partial-scheduling deadlocks that waste GPU nodes. It adds workload-aware preemption and PodGroup queueing, and explicitly addresses livelock when multiple workloads race the scheduler.PodGroup as a unit, so it stops disrupting individual Pods that don't actually unblock a workload.numaNode attribute are all Stable; ResourceClaim support for workloads is Beta; and Alpha adds derived attributes, device compatibility groups, and node allocatable accounting.memory.min/memory.low/memory.high to protect requested memory and throttle before hard limits.emptyDir, medium: Memory) volumes — no restart.spec.minReplicas: 0 — handy for idle queue consumers, batch jobs, and GPU workloads.For teams running TrainJob, JobSet, LWS or RayJob, the new Workload Aware Scheduling Controller APIs (Alpha) and spec.scheduling on batch/v1 Job provide a common framework so each controller exposes gang scheduling and topology constraints consistently.
StorageVersionMigration and the control plane rewrites existing resources after an API upgrade or encryption change — no more hand-rolled kubectl get | replace scripts.Unused condition so you can finally see (and reclaim) orphaned PVCs.ipvs mode is deprecated. It now logs a startup warning; disabled by default by v1.40, removed by v1.43. (Reminder: ipvs always used iptables underneath anyway.)kubectl run --filename/-f is deprecated — the generated Pod comes purely from CLI args.PreventStaticPodAPIReferences gates it).Two caveats worth testing before you bump a production cluster:
-o context=<label> instead of recursive relabeling — but only when the CSI driver opts in via .spec.seLinuxMount: true. A mount carries one SELinux context, so Pods with different SELinux labels that previously shared a volume can now fail to start. Set .spec.seLinuxChangePolicy: Recursive on a Pod to keep the old behavior (still switchable until v1.38).maxUnavailable for StatefulSets is back on by default after a v1.36 bug (stuck CrashLoopBackOff) was fixed.v1.37 is a "make it boring" release: it hardens the control plane, gives workloads real identity and scheduling primitives, and quietly deprecates the cruft (kube-dns, ipvs). If you run AI/ML or HPC on Kubernetes, the gang-scheduling and DRA work is the part to pilot now — and if you care about sovereign, self-hosted infrastructure, Pod Certificates plus manifest-based admission are the security primitives worth adopting early.