Stay up-to-date on Kubernetes development in 15 minutes a week.
wg-batch co-chair Kevin Wang is stepping down to focus on workload-aware scheduling efforts and will become co-chair of wg-workload-aware-scheduling. He has nominated Amy Chen (@amy) as the new wg-batch co-chair, citing her work on Kueue observability, end-user advocacy, and community engagement.
KubeCon North America Maintainer Track CFP is open until July 12. Maintainer Track speaking slots are reserved for SIG Chairs and Tech Leads; contributors interested in presenting should coordinate with their SIG Chair to submit through the SIG’s allocated slot.
Kubernetes v1.37 Release Schedule is out!
The v1.37 release schedule is now available. The cycle began May 18 and is targeting August 26 for the final release. Key milestones include Enhancements Freeze on June 17 and Code Freeze on July 23.
Dipesh Rawat will serve as Release Lead for v1.37 alongside the release team and shadows. The Call for Enhancements is now open, and SIGs should begin preparing KEPs for the upcoming cycle.
The cherry-pick deadline for the June patch releases is June 5.
139232: validation-gen: elide RegisterValidations for packages with no TypeMeta validations
The declarative-validation toolchain has been graduating quickly over the past several weeks, first the introduction of the +k8s:eachVal tag chain in #138629, then the coverage guardrail in #138872. One side effect of running validation-gen across every API package was a long tail of generated files that registered nothing; empty RegisterValidations functions whose bodies were just return nil. They added no behaviour, but they did add review burden, vendor noise, and confusion for contributors trying to understand which packages actually participate in declarative validation.
This change moves a hasRootTypesWithValidations() check into emitRegisterFunction itself so the generator simply no-ops when there’s nothing to register, removing 26 empty generated files across pkg/apis/admission, pkg/apis/apps, pkg/apis/policy, and other API package directories. It is also a prerequisite now, for #139101, the next step in the same series. This is scoped to SIG API Machinery, and is targeted at the v1.37 milestone.
KEP-5237: Convert route controller to watch-based reconciliation
This enhancement introduces a watch-based reconciliation mechanism for the Kubernetes route controller using informers, replacing the previous fixed 10-second polling loop. The change reduces unnecessary API requests to infrastructure providers, improves responsiveness when nodes are added or updated, and aligns the route controller with other informer-driven Kubernetes controllers. Additional work also introduced route synchronization metrics along with supporting documentation and feature blog updates.
The watch-based route controller reconciliation enhancement is currently in Alpha stage.
apiserver_storage_list_* metrics now include storage and index labels to distinguish the storage backend and lookup path used to serve LIST requests.ContainerRuntimeVersion validates if the installed container runtime supports the RuntimeConfig gRPC method.nominatedNodeName, just like a normal preempting pod does.syncProxyRules could take tens of seconds in clusters with many Services because GetAllLocalAddressesExcept issued one full netlink address dump per interface. The function now issues a single dump per address family, reducing syncProxyRules latency by orders of magnitude on large clusters.DisruptionMode enum field to struct to support future extensibility.AnnotatedEventf method to the new events API (EventRecorder and EventRecorderLogger interfaces in client-go/tools/events),kubectl describe statefulset output.apiserver_cache_list_total, apiserver_cache_list_fetched_objects_total, and apiserver_cache_list_returned_objects_total are no longer exposed by default. Should migrate to the unified apiserver_storage_list_* metrics with storage="watchcache" label.DefaultWatchCacheSize field of k8s.io/apiserver/pkg/server/options.EtcdOptions is now removed.apiserver_watch_events_total and apiserver_watch_events_sizes to BETAserviceaccount_legacy_tokens_total, serviceaccount_stale_tokens_total, serviceaccount_valid_tokens_total to betaapiserver_webhooks_x509_missing_san_total and apiserver_webhooks_x509_insecure_sha1_total metrics to BETA.Last Week In Kubernetes Development (LWKD) is a product of multiple contributors participating in Kubernetes SIG Contributor Experience. All original content is licensed Creative Commons Share-Alike, although linked content and images may be differently licensed. LWKD does collect some information on readers, see our privacy notice for details.
You may contribute to LWKD by submitting pull requests or issues on the LWKD github repo.