Last Week In Kubernetes Development

Archives
Subscribe
July 16, 2026

LWKD: Week Ending July 12, 2026

Week Ending July 12, 2026

Developer News

Maintainer Summit North America 2026 CFP CFP closes on July 19. Maintainers, project leaders, and contributors are encouraged to submit session proposals before the deadline. Registration is open for it as well.

Steering Committee election nominations continue, with Janet Kuo announcing her candidacy and Sean McGinnis receiving a community nomination. Nominations close on August 3.

Release Schedule

Next Deadline: Code Freeze Exceptions, July 13th

If your enhancement is unlikely to be ready by Code Freeze, now is the time to request a Code Freeze Exception. Review the Exceptions process to ensure your request meets the requirements and is submitted before the upcoming Code Freeze.

Patch releases for all supported Kubernetes versions are targeted for July 14th.

Featured PRs

140333: Update etcd to v3.7.0

In this pull request Jefftree updated Kubernetes to use etcd v3.7.0, replacing the previous release candidate with the final upstream version and updating both the embedded client libraries and default etcd images. This brings Kubernetes in sync with the latest stable etcd release while enabling new storage capabilities that future Kubernetes features can build upon, including ongoing work around efficient Watch/List operations. See the related upstream discussion in the etcd v3.7.0 release and the related Watch/List streaming work in Kubernetes.

138676: DRA Device Taints and Tolerations Graduates to GA

In this pull request pohly advanced the Dynamic Resource Allocation (DRA) Device Taints and Tolerations feature to General Availability via the resource.k8s.io/v1 API. Linked to KEP-5055, this milestone stabilizes how clusters restrict or allow specialized hardware access, such as GPUs, using dedicated device-level taints. Moving out of the experimental phases means cluster operators and hardware vendors can confidently implement production-ready, fine-grained resource scheduling without worrying about feature gate maintenance.

139993: Introduce Node Lifecycle Conditions

rthallisey introduced several critical, well-known node conditions into the core API, including GracefulNodeShutdownInProgress, DrainInProgress, Drained, MaintenancePlanned, and MaintenanceInProgress. This foundational change implements the initial phase of KEP-6161, designed to build explicit ecosystem awareness around structural cluster disruptions. By exposing these standardized node states, downstream automation tools, operators, and core controllers can programmatically coordinate edge cases during maintenance workflows to improve overall workload uptime.

137513: Core Machinery for Conditional Authorization

In this pull request, luxas implemented the core engine logic for the highly anticipated Conditional Authorization feature Part of KEP-5681, this foundational work builds directly upon earlier API refinements to establish the machinery required for context-aware access control. By providing these framework hooks, the API server will soon be able to evaluate complex runtime variables and policies before granting client permissions, significantly upgrading security capabilities across multi-tenant clusters.

137981: PodGroup Supported as Preemption Victims

vshkrabkov enhanced the default scheduling flow to support PodGroups as atomic preemption victims Linked to the Workload-Aware Preemption design under KEP-5710, this change introduces clean interface abstractions for Victim and DomainVictim to group node-level state. Rather than evaluating and evicting pods individually, the scheduler can now remove an entire group as a single unit, avoiding partial preemption failures and heavily optimizing gang-scheduled AI or batch workloads.

139674: Introduce PodGroupPostFilter Extension Point

In this pull request, GFilipek introduced the new PodGroupPostFilter extension point to the scheduling framework API. Associated with KEP-5710, this clean architectural change replaces previously hardcoded Workload-Aware Preemption logic with a fully pluggable interface. This enables out-of-tree and custom plugin authors to seamlessly build and configure their own complex preemption and scheduling rules when dealing with multi-pod groups and batch scheduling behaviors.

KEP of the Week

KEP-5963: DRA Device Compatibility Groups

This KEP extends the Dynamic Resource Allocation (DRA) ResourceSlice API to let device drivers declare mutually exclusive allocation constraints between groups of devices. This addresses hardware (such as GPUs) that support multiple incompatible partitioning or virtualization modes, where selecting one configuration prevents others from being used simultaneously.

Today, DRA cannot express these constraints, causing the scheduler to make invalid allocation decisions. As a result, conflicts are detected only during resource preparation, leading to pod startup failures, repeated scheduling retries, and a poor user experience. This proposal enables the scheduler to understand these constraints upfront, preventing incompatible allocations before scheduling.

This KEP is currently in Alpha stage.

Other Merges

  • Fixes a DRA resourceslice controller bug where an update-after-quick-delete cached stale entries, preventing subsequent updates from taking effect.
  • Adds PodGroup as a preemption victim in the per-pod preemption flow, part of KEP-5710 workload-aware preemption.
  • Fixes a bug where kube-proxy did not restart on node IP changes or deletions, leaving stale network state after Node object mutations.
  • Reimplements Workload-Aware Preemption using in-place filter reprieval to match the design in KEP-5710.
  • Fixes a kubelet bug where burstable pods' memory.low cgroup value was ineffective due to missing ancestor cgroup coverage.
  • Adds a new PodGroupPostFilter scheduler extension point that runs after standard PostFilter for gang-scheduled workloads.
  • kubectl explain: adds a --max-depth flag to truncate schema output for deeply nested resources like CRDs and Pod specs.
  • kubectl: cluster-info dump --output-directory creates output files with owner-only permissions, preventing world-readable exposure of potentially sensitive cluster state.
  • Lands the core Conditional Authorization machinery (Conditional Authz [2/n]), building on the interface rename in #138801 to enable authorizers to evaluate condition-based decisions.
  • Fixes a scheduler bug where PodGroup.Status was not updated when pods in the group had mismatched .spec.schedulerName or priority values.

Promotions

  • KEP-5207: metrics.k8s.io API promoted to v1 GA.
  • KEP-3962: Storage Version Migration (SVM) promoted to GA.

Version Updates

  • github.com/google/cadvisor/lib bumped from v0.60.3 to v0.60.4, which pulls in updated golang.org/x/* module versions across the tree.
  • Structured Merge Diff bumped to v6.4.2, reverting an SMD change that had introduced a Server-Side Apply regression for nullable container types.

Subprojects and Dependency Updates

etcd v3.7 was released last week. Highlights include RangeStream (to be supported by Kubernetes v1.37), bootstrapping from v3store, a protobuf overhaul, and multiple performance improvements. Kubernetes v1.37 will test against etcd v3.7.

  • coredns v1.14.6: fix ARM/MIPS builds, add forward source_address; also v1.14.5
  • containerd v2.3.3: fix NRI nil pointer, reject invalid CreateContainer; also v2.2.6, v2.0.11, v1.7.34
  • cluster-autoscaler v1.36.0: add DRA partitionable devices, add CapacityQuota CRD; also v1.35.1, v1.34.4, v1.33.5
  • prometheus v3.13.1: fix TSDB chunk cache bug; also v3.5.5 (fixes CVE-2026-53606), v3.13.0-rc.0
  • grpc v1.82.1: bump Python protobuf lower bound
  • Node Feature Discovery v0.19.0 has been released, introducing faster node re-labeling after rebuilds, configurable owner references, new x86-64 microarchitecture labels, topology updater performance improvements, and reconciliation optimizations.

Shoutouts

  • aojea: Shoutout to @adrianmoisey for consistently working to improve components across the project. These contributions often uncover significant opportunities for improvement, such as the major fix documented in kubernetes/autoscaler#9116.
  • jberkus: A big thank you to the more than 150 contributors, including over 100 new contributors, who were part of the etcd v3.7 release cycle.
Don't miss what's next. Subscribe to Last Week In Kubernetes Development:
Older → LWKD: Week ending July 05, 2026
Powered by Buttondown, the easiest way to start and grow your newsletter.