<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://lwkd.info/feed.xml" rel="self" type="application/atom+xml" /><link href="https://lwkd.info/" rel="alternate" type="text/html" /><updated>2026-10-16T00:24:45+00:00</updated><id>https://lwkd.info/feed.xml</id><title type="html">Last Week in Kubernetes Development</title><subtitle>Stay up-to-date on Kubernetes development in 15 minutes a week.</subtitle><entry><title type="html">Week Ending October 11, 2026</title><link href="https://lwkd.info/2026/20261015" rel="alternate" type="text/html" title="Week Ending October 11, 2026" /><published>2026-10-15T23:45:00+00:00</published><updated>2026-10-15T23:45:00+00:00</updated><id>https://lwkd.info/2026/2026-10-11-update</id><content type="html" xml:base="https://lwkd.info/2026/20261015"><![CDATA[<h2 id="developer-news">Developer News</h2>

<p>Wei Fu (<a href="https://github.com/fuweid">@fuweid</a>) has <a href="https://github.com/kubernetes/community/pull/9190">joined SIG etcd as a lead</a>.</p>

<p>SIG Apps has <a href="https://github.com/kubernetes/community/pull/9197">added <code class="language-plaintext highlighter-rouge">workload-class</code> as a new subproject</a>.</p>

<p>SIG Autoscaling has <a href="https://github.com/kubernetes/community/pull/9196">added <code class="language-plaintext highlighter-rouge">model-serving-signals</code> as a new subproject</a>.</p>

<p>WG LTS has been <a href="https://github.com/kubernetes/community/pull/9211">wound down and its documentation archived</a> under <code class="language-plaintext highlighter-rouge">archive/wg-lts</code>.</p>

<p>SIG Architecture has <a href="https://github.com/kubernetes/community/pull/9150">fixed inverted SPDY and WebSocket client guidance</a> in the developer guide; contributors building clients should re-read the corrected section.</p>

<p>The <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/ELCI9hCyAH4">Kubernetes SIG Meet &amp; Greet at KubeCon NA 2026</a> will take place in Salt Lake City November 10 at 12:30 PM, giving contributors a chance to meet SIG leads in person before KubeCon sessions. Please <a href="https://github.com/kubernetes/community/issues/9192">sign up to staff your SIG table</a>.</p>

<h2 id="release-schedule">Release Schedule</h2>

<p><strong>Next Deadline: <a href="https://github.com/kubernetes/sig-release/blob/master/releases/release_phases.md#docs">Docs: Open placeholder PRs</a>, <a href="https://github.com/kubernetes/sig-release/tree/master/releases/release-1.38#timeline">October 29</a></strong></p>

<p>Contributors with enhancements that require documentation should prepare placeholder docs PRs against the <code class="language-plaintext highlighter-rouge">dev-1.38</code> branch ahead of the October 29 deadline.</p>

<p>Kubernetes <a href="https://github.com/kubernetes/kubernetes/releases/tag/v1.38.0-alpha.2">v1.38.0-alpha.2</a> has been built and pushed using Go 1.27.1 on October 7. The release notes are updated in <a href="https://git.k8s.io/kubernetes/CHANGELOG/CHANGELOG-1.38.md">CHANGELOG-1.38.md</a>, with a pointer to them on <a href="https://github.com/kubernetes/kubernetes/releases/tag/v1.38.0-alpha.2">GitHub</a>.</p>

<p>October <a href="https://kubernetes.io/releases/patch-releases/">patch releases</a> are postponed by one week to October 20 to include the latest Go releases and CVE fixes. Cherry-picks are now due this Friday, October 16.</p>

<h2 id="featured-prs">Featured PRs</h2>

<h3 id="142913-kep-4443-add-more-granular-job-failure-condition-reasons"><a href="https://github.com/kubernetes/kubernetes/pull/142913">142913: [KEP-4443] Add more granular job failure condition reasons</a></h3>

<p><a href="https://github.com/ameukam">ameukam</a> added more granular failure condition reasons for Jobs using <code class="language-plaintext highlighter-rouge">PodFailurePolicy</code>. Previously, multiple rules using the <code class="language-plaintext highlighter-rouge">FailJob</code> action could produce the same generic failure reason, making it difficult for higher-level controllers to determine why a Job failed. This change allows rules to be named so that the resulting Job failure condition can identify the rule responsible, falling back to the rule’s index when no name is specified. This gives controllers such as JobSet more precise information to make decisions about retries and recovery. The change is part of <a href="https://github.com/kubernetes/enhancements/tree/master/keps/sig-apps/4443-configurable-pod-failure-policy-reasons">KEP-4443</a>.</p>

<h3 id="142898-e2e-test-kep-4006-websocket-exec-attach-and-port-forward-without-spdy-fallback"><a href="https://github.com/kubernetes/kubernetes/pull/142898">142898: e2e: test KEP-4006 WebSocket exec, attach and port-forward without SPDY fallback</a></h3>

<p><a href="https://github.com/seans3">seans3</a> added end-to-end tests for <code class="language-plaintext highlighter-rouge">exec</code>, <code class="language-plaintext highlighter-rouge">attach</code>, and <code class="language-plaintext highlighter-rouge">port-forward</code> over WebSockets without allowing a fallback to SPDY. Tests that permit fallback can pass even when the WebSocket path is broken, leaving gaps in coverage for Kubernetes’ transition away from SPDY. By explicitly exercising these operations without fallback, this change helps verify that WebSocket streaming works independently and provides stronger confidence in the new protocol paths. The work is part of <a href="https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/4006-transition-spdy-to-websockets">KEP-4006</a>, with promotion of the tests to conformance planned as a follow-up after a soak period.</p>

<h3 id="142897-apiserver-kubelet-graduate-the-kep-4006-websocket-streaming-metrics-to-beta"><a href="https://github.com/kubernetes/kubernetes/pull/142897">142897: apiserver, kubelet: graduate the KEP-4006 WebSocket streaming metrics to BETA</a></h3>

<p><a href="https://github.com/seans3">seans3</a> graduated WebSocket streaming metrics in the API server and kubelet from Alpha to Beta as part of <a href="https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/4006-transition-spdy-to-websockets">KEP-4006</a>. The metrics provide visibility into WebSocket streaming requests handled by the API server and kubelet, including requests processed through the API server’s stream translator and tunnel. Advancing these metrics to Beta improves their stability and makes them more useful for monitoring and troubleshooting as Kubernetes continues its transition from SPDY to WebSockets.</p>

<h2 id="kep-of-the-week">KEP of the Week</h2>

<h3 id="kep-5945-dra-optional-node-operations"><a href="https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/5945-dra-optional-node-operations/README.md">KEP-5945: DRA Optional Node Operations</a></h3>

<p>Dynamic Resource Allocation (DRA) normally makes kubelet call a node-local driver
to prepare a device before a container starts and clean it up when its Pod ends.
Some controller-managed resources need neither call, yet still require a no-op
driver on every node. Others need preparation but clean up automatically.</p>

<p>KEP-5945 adds <code class="language-plaintext highlighter-rouge">skipNodeOperations</code> to <code class="language-plaintext highlighter-rouge">ResourceSlice</code> and carries it into
<code class="language-plaintext highlighter-rouge">ResourceClaim</code> allocation results. Kubelet skips a gRPC call only when all
devices from a driver in the claim mark that operation to skip. A driver can
skip <code class="language-plaintext highlighter-rouge">NodeUnprepareResources</code> alone or both it and <code class="language-plaintext highlighter-rouge">NodePrepareResources</code>.
Custom allocators must copy the field for the kubelet to apply this choice.</p>

<p>Troy Chiu drafted the KEP with SIG Node in May 2026 after discussion in the WG
Device Management meeting. It reached Alpha in v1.37 with the
<code class="language-plaintext highlighter-rouge">DRAOptionalNodeOperations</code> gate off by default. KEP 5945 is implementable; its
<a href="https://github.com/kubernetes/enhancements/pull/6372">Beta update merged September 28</a> targets
Beta in v1.38 with the gate on by default and Stable in v1.40. The
<a href="https://github.com/kubernetes/enhancements/issues/5945">enhancement issue</a> tracks
the work.</p>

<h2 id="other-merges">Other Merges</h2>

<ul>
  <li>kubectl kustomize <a href="https://github.com/kubernetes/kubernetes/pull/142791">no longer loads kustomize Go (<code class="language-plaintext highlighter-rouge">.so</code>) plugins</a>; exec and KRM function plugins are unaffected</li>
  <li>Updated TokenReview internal type to <a href="https://github.com/kubernetes/kubernetes/pull/142750">improve cast speed from latest external version</a></li>
  <li>Strengthened <a href="https://github.com/kubernetes/kubernetes/pull/142719">runtime PodGroup and CompositePodGroup hierarchy validation in kube-scheduler</a> to verify maximum tree depth, Workload reference consistency, scheduling policies, and disruption modes</li>
  <li>applyconfiguration-gen now honors <a href="https://github.com/kubernetes/kubernetes/pull/142697"><code class="language-plaintext highlighter-rouge">+k8s:openapi-model-package</code> when looking up OpenAPI definitions</a>, and fails if the schema has no definition for a root type</li>
  <li>kube-apiserver and other servers built on k8s.io/apiserver now <a href="https://github.com/kubernetes/kubernetes/pull/142607">accept up to 16384 request header values</a></li>
  <li>API server now returns <a href="https://github.com/kubernetes/kubernetes/pull/142591">400 instead of 500 status code</a> on GET request with invalid revision</li>
  <li>Fixed<a href="https://github.com/kubernetes/kubernetes/pull/142443"> API warnings on ReplicationController updates</a>, which described the previous pod template instead of the new one</li>
  <li>DRA consumable capacity + CEL: <a href="https://github.com/kubernetes/kubernetes/pull/142202">fixed name comparisons and lookup</a></li>
  <li>Fix: <a href="https://github.com/kubernetes/kubernetes/pull/142640">kubectl create ingress panics on rules with extra equals signs</a></li>
  <li>kubectl: <a href="https://github.com/kubernetes/kubernetes/pull/142149">keep a multi-line event message inside its table row</a></li>
  <li>ktesting: the former internal packages are now <a href="https://github.com/kubernetes/kubernetes/pull/142146">available as k8s.io/ktesting and k8s.io/client-go/ktesting</a></li>
  <li>DRA: <a href="https://github.com/kubernetes/kubernetes/pull/141108">fixed a deadlock</a> when an <code class="language-plaintext highlighter-rouge">ErrorHandler</code> calls <code class="language-plaintext highlighter-rouge">Update</code>, or a kubelet plugin’s <code class="language-plaintext highlighter-rouge">HandleError</code> calls <code class="language-plaintext highlighter-rouge">PublishResources</code>, in response to pools that do not match <code class="language-plaintext highlighter-rouge">ReconcilePoolWithName</code></li>
  <li>Added <code class="language-plaintext highlighter-rouge">percentageOfPlacementsToScore</code> <a href="https://github.com/kubernetes/kubernetes/pull/139859">to the scheduler config</a></li>
  <li>Strengthened <a href="https://github.com/kubernetes/kubernetes/pull/142719">runtime PodGroup and CompositePodGroup hierarchy validation</a> in kube-scheduler to verify maximum tree depth, workload reference consistency, scheduling policies, and disruption modes</li>
  <li>The deployment controller now <a href="https://github.com/kubernetes/kubernetes/pull/142650">retries when scaling down an old ReplicaSet fails during a rolling update</a>, instead of treating that failure as success</li>
  <li>The metrics <code class="language-plaintext highlighter-rouge">apiserver_resource_size_estimate_bytes</code> and <code class="language-plaintext highlighter-rouge">apiserver_resource_objects</code> now <a href="https://github.com/kubernetes/kubernetes/pull/142007">include explicit observation timestamps</a></li>
  <li>Added <a href="https://github.com/kubernetes/kubernetes/pull/137633">conditional authorization support to kube-apiserver</a></li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/142700">kubemark has been removed</a> from the kubernetes repository</li>
</ul>

<h2 id="promotions">Promotions</h2>

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/142500"><code class="language-plaintext highlighter-rouge">WindowsCPUAndMemoryAffinity</code> to Beta</a></li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/142490"><code class="language-plaintext highlighter-rouge">KubeProxyNFTablesLocalhostNodePorts</code> to Beta</a></li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/142619">Graduated <code class="language-plaintext highlighter-rouge">kuberc</code> support to stable</a></li>
</ul>

<h2 id="version-updates">Version Updates</h2>

<ul>
  <li>Kubernetes is now built with <a href="https://github.com/kubernetes/kubernetes/pull/142873">Go v1.27.2</a></li>
  <li>otel to <a href="https://github.com/kubernetes/kubernetes/pull/142794">v1.47.0</a></li>
  <li>node local DNS to <a href="https://github.com/kubernetes/kubernetes/pull/142686">v1.27.1</a></li>
</ul>

<h2 id="subprojects-and-dependency-updates">Subprojects and Dependency Updates</h2>

<ul>
  <li><a href="https://github.com/kubernetes-sigs/cluster-api/releases/tag/v1.14.3">cluster-api v1.14.3</a>: Fixes a race in KCP proxy DialContext, matches etcd members to machines being deleted by KCP, and bumps grpc to 1.83.2 for security advisories; also <a href="https://github.com/kubernetes-sigs/cluster-api/releases/tag/v1.13.7">v1.13.7</a></li>
  <li><a href="https://github.com/cri-o/cri-o/releases/tag/v1.37.2">cri-o v1.37.2</a>: Switches release bundle SBOMs to SPDX 3.0.1 JSON-LD format</li>
  <li><a href="https://github.com/prometheus/prometheus/releases/tag/v3.13.4">prometheus v3.13.4</a>: Fixes GO-2026-6348 HTTP/2 DATA frame fragmentation memory exhaustion and corruption of float native histograms in federation</li>
  <li><a href="https://github.com/containerd/nerdctl/releases/tag/v2.4.1">nerdctl v2.4.1</a>: Fixes CDI support in compose, fixes port forwarding on Windows, and updates bundled containerd to 2.4.1</li>
</ul>

<h2 id="shoutouts">Shoutouts</h2>

<ul>
  <li>No shoutouts this week. Want to thank someone for special efforts to improve Kubernetes? Tag them in the #shoutouts channel.</li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[Developer News]]></summary></entry><entry><title type="html">Week Ending October 04, 2026</title><link href="https://lwkd.info/2026/20261007" rel="alternate" type="text/html" title="Week Ending October 04, 2026" /><published>2026-10-07T18:00:00+00:00</published><updated>2026-10-07T18:00:00+00:00</updated><id>https://lwkd.info/2026/2026-10-04-update</id><content type="html" xml:base="https://lwkd.info/2026/20261007"><![CDATA[<h2 id="developer-news">Developer News</h2>

<p>A new security advisory, <a href="https://groups.google.com/g/kubernetes-announce/c/kPN22R7cjZo">CVE-2026-19444 (kubectl cp path traversal on Windows allows arbitrary file writes)</a>, was published on September 28; a malicious tar archive can cause <code class="language-plaintext highlighter-rouge">kubectl cp</code> on Windows to write files outside the intended destination.</p>

<p>Shu Muto (<a href="https://github.com/shu-mutou">@shu-mutou</a>) has <a href="https://github.com/kubernetes/community/pull/9189">moved to SIG UI emeritus</a>, following the earlier SIG UI leadership transitions covered in prior editions.</p>

<p>WG Node Identity has <a href="https://github.com/kubernetes/community/pull/9178">added a dedicated Slack channel</a> for its working group discussions.</p>

<p>SIG ContribEx has <a href="https://github.com/kubernetes/community/pull/9184">added vetting criteria for the #announcements Slack channel</a> to clarify what messages are appropriate for posting there.</p>

<h3 id="election-update">Election Update</h3>

<p>The <a href="https://elections.k8s.io/app/elections/steering---2026/results/">2026 Kubernetes Steering Committee election results</a> were announced at the public Steering meeting on October 7: <a href="https://github.com/elmiko">Michael McCune</a>, <a href="https://github.com/janetkuo">Janet Kuo</a>, and <a href="https://github.com/priyankasaggu11929">Priyanka Saggu</a> were elected to the three open seats for two-year terms. 308 of 1547 eligible voters cast ballots, for a turnout of 19.91%.</p>

<h2 id="release-schedule">Release Schedule</h2>

<p><strong>Next Deadline: <a href="https://github.com/kubernetes/sig-release/tree/master/releases/release-1.38#timeline">Docs: Open placeholder PRs</a>, October 29</strong></p>

<p>The Kubernetes v1.38 Enhancements Freeze began September 30. Of 102 enhancements opted in, 86 are being tracked and 16 were removed from the milestone.</p>

<p>October patch releases are targeted for October 13.</p>

<h2 id="featured-prs">Featured PRs</h2>

<h3 id="142693-add-csicontrollergetnodeinfo-feature-gate-and-driverregistrations-field"><a href="https://github.com/kubernetes/kubernetes/pull/142693">142693: Add CSIControllerGetNodeInfo feature gate and driverRegistrations field</a></h3>

<p><a href="https://github.com/torredil">torredil</a> added the alpha <code class="language-plaintext highlighter-rouge">CSIControllerGetNodeInfo</code> feature gate and the <code class="language-plaintext highlighter-rouge">driverRegistrations</code> field to <code class="language-plaintext highlighter-rouge">CSINode</code> as part of <a href="https://www.kubernetes.dev/resources/keps/6011/">KEP-6011</a>. The change enables CSI node registration to split node-side identity reporting from controller-side discovery of topology and volume attachment limits. This allows CSI drivers to obtain information that may require cloud API access from the controller rather than requiring those credentials on worker nodes. The controller-side flow also enables more accurate volume capacity tracking using <code class="language-plaintext highlighter-rouge">VolumeAttachment</code> information while preserving the existing node-side registration flow for drivers that do not opt in.</p>

<h3 id="142789-kep-6283-use-kubernetesiokube-apiserver-serving-ctb-to-mount-kube-apiserver-trust"><a href="https://github.com/kubernetes/kubernetes/pull/142789">142789: KEP-[6283]: use kubernetes.io/kube-apiserver-serving CTB to mount kube-apiserver trust</a></h3>

<p><a href="https://github.com/stlaz">stlaz</a> introduced a feature gate, as part of <a href="https://github.com/kubernetes/enhancements/issues/6283">KEP-6283</a>, to switch ServiceAccount token volume trust from the <code class="language-plaintext highlighter-rouge">kube-root-ca.crt</code> ConfigMap to the <code class="language-plaintext highlighter-rouge">kubernetes.io/kube-apiserver-serving</code> ClusterTrustBundle. This provides a newer mechanism for making the kube-apiserver serving CA available to workloads using automatically mounted ServiceAccount token volumes, while allowing the existing behavior to remain available behind the feature gate.</p>

<h2 id="kep-of-the-week">KEP of the Week</h2>

<h3 id="kep-4412-projected-service-account-tokens-for-kubelet-image-credential-providers"><a href="https://github.com/kubernetes/enhancements/blob/master/keps/sig-auth/4412-projected-service-account-tokens-for-kubelet-image-credential-providers/README.md">KEP-4412: Projected Service Account Tokens for Kubelet Image Credential Providers</a></h3>

<p>Private image pulls commonly use <code class="language-plaintext highlighter-rouge">imagePullSecrets</code> stored in the Kubernetes API or credentials supplied to the kubelet for an entire node. KEP-4412 lets a configured credential provider receive a short-lived ServiceAccount token bound to the Pod and scoped to an audience. The plugin can exchange it for registry credentials or return it directly as a pull credential. This lets image access follow the workload’s identity without requiring a long-lived pull Secret in the cluster.</p>

<p>Before an image pull, kubelet requests the token and passes it to the plugin with selected ServiceAccount annotations. Administrators opt a provider in through <code class="language-plaintext highlighter-rouge">tokenAttributes</code> and set <code class="language-plaintext highlighter-rouge">cacheType</code> to key cached credentials per token or per ServiceAccount. The API server restricts which token audiences a node may request. Because the container runtime receives credentials only when a pull starts, a pull longer than their lifetime can fail, and lazy image streaming is not supported.</p>

<p><a href="https://github.com/aramase">aramase</a> and <a href="https://github.com/mainred">mainred</a> authored the KEP with SIG Auth and SIG Node. The feature reached Alpha in v1.33 and Beta in v1.34. The KEP is targeting GA in v1.38 and the <a href="https://github.com/kubernetes/enhancements/pull/6426">GA update merged on September 29</a> documents test evidence, operational limits, and the plan to lock its two feature gates on; the <a href="https://github.com/kubernetes/enhancements/issues/4412">enhancement issue</a> tracks the work.</p>

<h2 id="other-merges">Other Merges</h2>

<ul>
  <li>Fixed <a href="https://github.com/kubernetes/kubernetes/pull/142574">refcounting leak in the node authorizer graph</a> for pods which reference secrets, configmaps, or pvcs multiple times</li>
  <li>Fixed <a href="https://github.com/kubernetes/kubernetes/pull/142564"><code class="language-plaintext highlighter-rouge">kubectl kuberc set</code> leaving a stale credential plugin allowlist</a> when the policy is changed to AllowAll or DenyAll, which caused kubectl to fail</li>
  <li>Added <a href="https://github.com/kubernetes/kubernetes/pull/142537">consistency store to client-go</a> and deprecated it from pkg/controller</li>
  <li>Fixed k8s.io/apimachinery/pkg/util/yaml <a href="https://github.com/kubernetes/kubernetes/pull/142527">silently dropping the last line of a YAML stream</a> when it has no trailing newline and its length is an exact multiple of the reader buffer size</li>
  <li>Separated <a href="https://github.com/kubernetes/kubernetes/pull/142484">deleteGet and updateGet etcd operation in etcd_request_* metrics</a> and added reason label to error</li>
  <li>kubelet: the pods API gRPC server now <a href="https://github.com/kubernetes/kubernetes/pull/142458">limits concurrent streams per connection to 100</a> and applies its request rate limit to WatchPods stream openings</li>
  <li>kubelet: <a href="https://github.com/kubernetes/kubernetes/pull/142457">gRPC probes fail immediately when the connection is refused</a> instead of retrying until the probe timeout</li>
  <li><code class="language-plaintext highlighter-rouge">kubectl label</code> now <a href="https://github.com/kubernetes/kubernetes/pull/142436">prints messages about nonexistent labels to stderr instead of stdout</a>, so they no longer break JSON or YAML output</li>
  <li>hack/local-up-cluster.sh now <a href="https://github.com/kubernetes/kubernetes/pull/142401">supports quantum crypto keys and certs for testing</a></li>
  <li>Kubelet now <a href="https://github.com/kubernetes/kubernetes/pull/142340">reports allocated resource health statuses in deterministic order</a>, preventing unnecessary Pod status updates when resource health is unchanged</li>
  <li>Fixed the <a href="https://github.com/kubernetes/kubernetes/pull/142192">HorizontalPodAutoscaler utilization and usage calculations wrapping to a wrong or negative current value</a> when pod metric or request totals exceeded int64 or the utilization percentage exceeded int32; the reported percentage now saturates at the int32 limit</li>
  <li>Fixed the <a href="https://github.com/kubernetes/kubernetes/pull/141742"><code class="language-plaintext highlighter-rouge">taint_eviction_controller_pod_deletion_duration_seconds</code> metric</a>, which recorded nanoseconds scaled by 1e9 instead of seconds</li>
  <li>Creating or updating a resource.k8s.io object <a href="https://github.com/kubernetes/kubernetes/pull/141644">with a qualified name that contains more than one slash, such as a device attribute key <code class="language-plaintext highlighter-rouge">a/b/c</code>, is now rejected</a></li>
  <li>Added <a href="https://github.com/kubernetes/kubernetes/pull/141616">CloudNodeAdditionalLabelsReconciliation feature gate</a></li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/141597">Fixed the field path in CSIDriver validation errors</a> for <code class="language-plaintext highlighter-rouge">spec.attachRequired</code>, which was previously reported as <code class="language-plaintext highlighter-rouge">spec.attachedRequired</code> — a field that does not exist in the API</li>
  <li>kube-controller-manager: <a href="https://github.com/kubernetes/kubernetes/pull/141566">informer metrics now use correctly pluralized resource names</a></li>
  <li>kubelet: fixed <a href="https://github.com/kubernetes/kubernetes/pull/141345">invalid user range selection for user namespaces</a></li>
  <li>Fixed the <a href="https://github.com/kubernetes/kubernetes/pull/141276">ResourceClaim controller repeatedly restoring terminal Pod entries in <code class="language-plaintext highlighter-rouge">status.reservedFor</code></a> for allocated claims that remain in use by other consumers</li>
  <li>Fixed ResourceSlice validation to <a href="https://github.com/kubernetes/kubernetes/pull/141213">reject a per-device <code class="language-plaintext highlighter-rouge">nodeSelector</code> with more than one node selector term</a>, as it already does for the slice-level <code class="language-plaintext highlighter-rouge">nodeSelector</code></li>
  <li>Fixed a panic in <code class="language-plaintext highlighter-rouge">kubectl kuberc view</code> when <a href="https://github.com/kubernetes/kubernetes/pull/141099">no kuberc file exists and the user declines to generate a default one</a></li>
  <li>Fixed kubelet so that pods using <code class="language-plaintext highlighter-rouge">dnsPolicy: Default</code> <a href="https://github.com/kubernetes/kubernetes/pull/140880">no longer inherit scoped IPv6 link-local nameservers</a> from the node resolver configuration unless the pod uses the host network namespace</li>
  <li>Fixed <a href="https://github.com/kubernetes/kubernetes/pull/137264"><code class="language-plaintext highlighter-rouge">equality.Semantic.DeepDerivative</code> for slices by rejecting prefix-only matches</a></li>
  <li>Fixed <a href="https://github.com/kubernetes/kubernetes/pull/136159">JSONSchemaProps comment to properly render JSON Schema URL</a> as a valid link</li>
</ul>

<h2 id="promotions">Promotions</h2>

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/142386">HPAGeneration to GA</a></li>
</ul>

<h2 id="deprecated">Deprecated</h2>

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/141744"><code class="language-plaintext highlighter-rouge">MatchLabelKeysInPodAffinity</code> feature gate has been removed</a></li>
</ul>

<h2 id="version-updates">Version Updates</h2>

<ul>
  <li>Bumped golangci-lint <a href="https://github.com/kubernetes/kubernetes/pull/142481">v2.14.0</a></li>
</ul>

<h2 id="shoutouts">Shoutouts</h2>

<ul>
  <li>No shoutouts this week. Want to thank someone for special efforts to improve Kubernetes? Tag them in the #shoutouts channel.</li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[Developer News]]></summary></entry><entry><title type="html">Week Ending September 27, 2026</title><link href="https://lwkd.info/2026/20260930" rel="alternate" type="text/html" title="Week Ending September 27, 2026" /><published>2026-09-30T23:00:00+00:00</published><updated>2026-09-30T23:00:00+00:00</updated><id>https://lwkd.info/2026/2026-09-27-update</id><content type="html" xml:base="https://lwkd.info/2026/20260930"><![CDATA[<h2 id="developer-news">Developer News</h2>
<p>Two security advisories were published on September 24: <a href="https://groups.google.com/g/kubernetes-announce/c/gI9iatwmRbA">CVE-2026-2270</a> (rated Medium, 5.9) describes a confused deputy attack in the StatefulSet controller that lets a user with namespace-scoped write permissions on <code class="language-plaintext highlighter-rouge">StatefulSet</code> and <code class="language-plaintext highlighter-rouge">ControllerRevision</code> objects create a cross-namespace pod, and <a href="https://groups.google.com/g/kubernetes-announce/c/ZN4CNe2li2w/">CVE-2026-76654</a> (rated Medium, 5.8) describes an NTLM coercion vulnerability on Windows nodes when a pod’s <code class="language-plaintext highlighter-rouge">subPath</code> is a symbolic link to an attacker-controlled UNC network share; both are fixed in the September patch releases (v1.34.12, v1.35.9, v1.36.5, v1.37.1) covered in the Release Schedule below.</p>

<p>SIG Cluster Lifecycle has a <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/GmQ3XGyRS4Q">leadership change</a>: Vince Prignano (<a href="https://github.com/vincepri">@vincepri</a>) is stepping down as chair, and existing Tech Lead Fabrizio Pandini (<a href="https://github.com/fabriziopandini">@fabriziopandini</a>) will assume the chair role in addition to his Tech Lead responsibilities. The change is under a one-week lazy consensus period.</p>

<p>The <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/program/cfp/#submit-your-talk">CfP for Kubecon Europe 2027</a> is already open, and closes October 11th.  This includes <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/features-add-ons/project-opportunities/#description-of-opportunities">Maintainer Track sessions</a> and Lightning Talks for SIGs.</p>

<h3 id="election-update">Election Update</h3>

<p>Voting closes on October 2.  If you are an Kubernetes Org Member, and have not cast your ballot yet, <a href="https://github.com/kubernetes/community/tree/main/elections/steering/2026">please vote right away</a>.</p>

<h2 id="release-schedule">Release Schedule</h2>

<p><strong>Next Deadline: <a href="https://github.com/kubernetes/sig-release/blob/master/releases/release_phases.md#enhancements-freeze">Enhancements Freeze</a>, <a href="https://github.com/kubernetes/sig-release/blob/master/releases/release-1.38/README.md#timeline">September 29 (AoE) / September 30 at 12:00 UTC</a></strong></p>

<p>The Kubernetes v1.38 release cycle heads into its Enhancements Freeze this week. Following KEP Readiness, <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/NggzRDDkCgAJ">11 enhancements were removed from the v1.38 milestone</a>, leaving 89 tracked out of the 100 that had opted in. Any KEP that still wants to join v1.38 and isn’t already tracked now needs an approved <a href="https://github.com/kubernetes/sig-release/blob/master/releases/EXCEPTIONS.md">exception</a>. Please reach out in the #sig-release channel in Slack with any questions.</p>

<p>Kubernetes v1.38.0-alpha.1 has been built and pushed using Go 1.27.1. See the <a href="https://git.k8s.io/kubernetes/CHANGELOG/CHANGELOG-1.38.md">release notes</a> and the <a href="https://github.com/kubernetes/kubernetes/releases/tag/v1.38.0-alpha.1">GitHub release</a>.</p>

<p>Patch releases <a href="https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.37.md">v1.37.1</a>, <a href="https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.36.md">v1.36.5</a>, <a href="https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.35.md">v1.35.9</a>, and <a href="https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.34.md">v1.34.12</a> are now available. These releases bump to Go 1.26.8 and include a handful of bug fixes.</p>

<h2 id="featured-prs">Featured PRs</h2>

<h3 id="142218-dra-resourceslice-controller-optionally-refuse-to-publish-capacities-and-attributes-with-driver-domain"><a href="https://github.com/kubernetes/kubernetes/pull/142218">142218: DRA ResourceSlice controller: optionally refuse to publish capacities and attributes with driver domain</a></h3>

<p><a href="https://github.com/pohly">pohly</a> added an option for the DRA ResourceSlice controller to avoid publishing capacities and attributes associated with a driver domain. ResourceSlices are used by DRA drivers to publish device information that the scheduler uses during allocation and placement. This change gives drivers more control over which resource metadata is exposed through ResourceSlices while preserving the ability to publish the devices themselves. The work builds on the ResourceSlice and structured-parameter design described in <a href="https://www.kubernetes.dev/resources/keps/4381/">KEP-4381</a>.</p>

<h3 id="142478-dra-device-binding-conditions-graduate-to-ga"><a href="https://github.com/kubernetes/kubernetes/pull/142478">142478: DRA Device Binding Conditions: graduate to GA</a></h3>

<p><a href="https://github.com/ttsuubasa">ttsuubasa</a> graduated DRA Device Binding Conditions to General Availability under <a href="https://www.kubernetes.dev/resources/keps/5007/">KEP-5007</a>. Device Binding Conditions allow the scheduler to wait for network- or fabric-attached devices to become ready before binding a Pod. This avoids binding a workload to a node before the required device attachment has completed and allows failed attachment attempts to be reported back to scheduling. The graduation makes this workflow stable for DRA drivers and workloads that depend on devices requiring external preparation.</p>

<h2 id="kep-of-the-week">KEP of the Week</h2>

<h3 id="kep-6361-leader-election-recovery"><a href="https://github.com/kubernetes/enhancements/blob/master/keps/sig-api-machinery/6361-leader-election-recovery/README.md">KEP-6361: Leader Election Recovery</a></h3>

<p>Kubernetes controller managers use a Lease to ensure only one replica reconciles resources at a time. Today, if the leader cannot renew its Lease before <code class="language-plaintext highlighter-rouge">RenewDeadline</code> during a temporary API server or etcd outage, it exits. Restarting forces its controllers to rebuild their cached view of the cluster, extending the interruption after the API becomes available again.</p>

<p>The proposal adds a transport-level write gate to controller clients. When the manager stops leading, the gate rejects new writes and cancels writes in flight while reads and watches continue, keeping caches warm. The election loop keeps trying to renew the same Lease; if it succeeds before another replica takes over, the gate reopens and reconciliation resumes without a restart. A configurable recovery deadline can limit these attempts, and the former leader exits if another replica takes over. The Lease API and election protocol remain unchanged.</p>

<p><a href="https://github.com/alvaroaleman">alvaroaleman</a>, <a href="https://github.com/jpbetz">jpbetz</a>, and <a href="https://github.com/michaelasp">michaelasp</a> authored the KEP with SIG API Machinery. Proposed on September 14, it was <a href="https://github.com/kubernetes/enhancements/pull/6365">merged on September 25</a>. The <a href="https://github.com/kubernetes/enhancements/issues/6361">enhancement issue</a> tracks the work, and discussion is in the <a href="https://groups.google.com/g/kubernetes-sig-api-machinery/c/iULCHBIi0Wo">SIG API Machinery thread</a>.</p>

<p>KEP 6361 is implementable and targets Alpha in Kubernetes v1.38 behind the disabled-by-default <code class="language-plaintext highlighter-rouge">LeaderElectionRecovery</code> feature gate.</p>

<h2 id="other-merges">Other Merges</h2>
<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/142395">Fixed a regression in v1.38</a> where resource quantities written by a v1.37 or older apiserver with a decimal exponent outside the int32 range could not be decoded, failing reads of the whole collection.</li>
  <li>validation-gen: <a href="https://github.com/kubernetes/kubernetes/pull/142368"><code class="language-plaintext highlighter-rouge">+k8s:minimum</code> and <code class="language-plaintext highlighter-rouge">+k8s:maximum</code> support <code class="language-plaintext highlighter-rouge">time.Duration</code> fields with quoted Go duration strings</a>, such as <code class="language-plaintext highlighter-rouge">+k8s:minimum="1s"</code>. Integer payloads on <code class="language-plaintext highlighter-rouge">time.Duration</code> fields are now rejected.</li>
  <li><code class="language-plaintext highlighter-rouge">SelfSignedCertKeyOptions</code> in <code class="language-plaintext highlighter-rouge">k8s.io/client-go/util/cert</code> accepts a <code class="language-plaintext highlighter-rouge">KeyGenerator</code>, <a href="https://github.com/kubernetes/kubernetes/pull/142350">allowing self-signed certificates to be generated with a key algorithm other than RSA</a>. The default remains a 2048-bit RSA key.</li>
  <li>Added <a href="https://github.com/kubernetes/kubernetes/pull/142327">resource version</a> to pod binding API</li>
  <li>Fixed a bug where <a href="https://github.com/kubernetes/kubernetes/pull/142289"><code class="language-plaintext highlighter-rouge">NoExecute</code> device taints (<code class="language-plaintext highlighter-rouge">DeviceTaintRule</code>) did not evict pods using DRA-backed extended resources</a> (<code class="language-plaintext highlighter-rouge">pod.Status.ExtendedResourceClaimStatus</code>)</li>
  <li>resource.Quantity: calling String or encoding a quantity is <a href="https://github.com/kubernetes/kubernetes/pull/142277">now guaranteed to not mutate the instance</a></li>
  <li>client-go: <a href="https://github.com/kubernetes/kubernetes/pull/142273">restrict CA key encipherment usage to RSA keys</a>. Key encipherment usage is no longer included for non RSA keys in self signed CA certificates generated from client-go</li>
  <li>Fixed an issue where a <a href="https://github.com/kubernetes/kubernetes/pull/142247">Job recreated with the same name as a recently deleted Job could remain unreconciled</a> because it inherited pending Pod expectations from the previous Job</li>
  <li>kubectl describe node: <a href="https://github.com/kubernetes/kubernetes/pull/142215">per-pod resource percentages no longer print -9223372036854775808% on nodes that have not reported allocatable resources</a>, and the “Allocated resources” totals now use the same resource accounting as the per-pod rows</li>
  <li>Added resource version to <a href="https://github.com/kubernetes/kubernetes/pull/142197">eviction api</a></li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/142171">LimitRanger no longer re-validates the resource requests and limits a pod resize leaves unchanged</a>. Only the values a resize changes are checked against the LimitRange, so an existing pod is no longer rejected on resize by a constraint it already violates</li>
  <li>Fixed <a href="https://github.com/kubernetes/kubernetes/pull/142131">false fractional-byte warnings for integer resource quantities larger than the int64 range</a></li>
  <li>Out-of-tree kube-scheduler plugins using the <code class="language-plaintext highlighter-rouge">NominatedPodsForNode</code> method <a href="https://github.com/kubernetes/kubernetes/pull/142118">must now pass <code class="language-plaintext highlighter-rouge">logger klog.Logger</code> as the first argument</a></li>
  <li>Added support for <a href="https://github.com/kubernetes/kubernetes/pull/142196">using PKCS#10 signing requests signed with ML-DSA keys</a> in CertificateSigningRequest, gated by the CertificateSigningRequestMLDSA feature-gate</li>
  <li>kubeadm: <a href="https://github.com/kubernetes/kubernetes/pull/142037">added support for the ML-DSA encryption algorithm</a>. “ML-DSA-44”,  “ML-DSA-65” and “ML-DSA-87” are now allowed values for ClusterConfiguration.EncryptionAlgorithm for new clusters using the v1beta4 and the still disabled (WIP) v1 API</li>
  <li>Fixed <a href="https://github.com/kubernetes/kubernetes/pull/142003">DRA kubelet plugin helper rolling updates for drivers with long valid names</a> by shortening automatic DRA service socket paths when needed</li>
  <li>The documentation of <code class="language-plaintext highlighter-rouge">Node.status.volumesAttached[].devicePath</code> now <a href="https://github.com/kubernetes/kubernetes/pull/141861">states the platform-specific semantics</a>: on Linux it is the host block-device node, on Windows it carries the CSI VolumeID</li>
  <li>Fixed a <a href="https://github.com/kubernetes/kubernetes/pull/141736">race in client-go MutationCache indexed lookups</a> that could temporarily hide a recently created replacement object</li>
  <li>Both <a href="https://github.com/kubernetes/kubernetes/pull/141238"><code class="language-plaintext highlighter-rouge">distribute-cpus-across-cores=true</code> and <code class="language-plaintext highlighter-rouge">align-by-socket=true</code> options were enabled</a>, even when a single socket had sufficient capacity</li>
  <li>Fixed a bug where<a href="https://github.com/kubernetes/kubernetes/pull/140220"> kubelet logged <code class="language-plaintext highlighter-rouge">--manifest-url-header</code> credential values</a> (e.g., Authorization tokens) to runtime logs at startup. Only header key names are now logged</li>
  <li>kube-apiserver: added the alpha <a href="https://github.com/kubernetes/kubernetes/pull/139561"><code class="language-plaintext highlighter-rouge">ManagedFieldsOptOut</code> feature gate</a> (off by default)</li>
  <li>kube-apiserver: Requests to unknown <code class="language-plaintext highlighter-rouge">/apis/...</code> paths and final delegation 404s now <a href="https://github.com/kubernetes/kubernetes/pull/138219">return a JSON <code class="language-plaintext highlighter-rouge">Status</code> object with <code class="language-plaintext highlighter-rouge">Content-Type: application/json</code> instead of a plain-text “404 page not found” body</a></li>
  <li>Fixed a <a href="https://github.com/kubernetes/kubernetes/pull/137534">bug where kubelet device manager may assign the same device ID to multiple pods</a> simultaneously</li>
</ul>

<h2 id="promotions">Promotions</h2>
<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/140256">DRADeviceTaints and DRADeviceTaintRules</a> to GA</li>
</ul>

<h2 id="deprecated">Deprecated</h2>
<ul>
  <li>Removed the <a href="https://github.com/kubernetes/kubernetes/pull/142018">deprecated <code class="language-plaintext highlighter-rouge">WindowsHostNetwork</code> feature gate</a> (KEP-3503, withdrawn). The gate no longer guarded any code paths</li>
  <li>Removed the <a href="https://github.com/kubernetes/kubernetes/pull/141789"><code class="language-plaintext highlighter-rouge">SeparateTaintEvictionController</code> feature gate from <code class="language-plaintext highlighter-rouge">kube-controller-manager</code></a>. Remove this gate from existing <code class="language-plaintext highlighter-rouge">--feature-gates</code> configuration before upgrading</li>
</ul>

<h2 id="version-updates">Version Updates</h2>
<ul>
  <li>Bumped <a href="https://github.com/kubernetes/kubernetes/pull/142414">golang.org/x modules and mdlayher/socket</a> to their current releases</li>
  <li>Bumped <a href="https://github.com/kubernetes/kubernetes/pull/142410">grpc to v1.84.0, lifted its pin, and bumped the etcd modules</a> to v3.7.2</li>
</ul>

<h2 id="subprojects-and-dependency-updates">Subprojects and Dependency Updates</h2>

<ul>
  <li><a href="https://github.com/containerd/containerd/releases/tag/v2.4.1">containerd v2.4.1</a>: Fixes CVE-2026-53493, leaked tasks after failed container start, and container creation when SELinux relabeling is unsupported; also <a href="https://github.com/containerd/containerd/releases/tag/v2.3.6">v2.3.6</a>, <a href="https://github.com/containerd/containerd/releases/tag/v2.2.9">v2.2.9</a>, <a href="https://github.com/containerd/containerd/releases/tag/v2.0.13">v2.0.13</a>, <a href="https://github.com/containerd/containerd/releases/tag/v1.7.36">v1.7.36</a></li>
  <li><a href="https://github.com/prometheus/prometheus/releases/tag/v3.15.0">prometheus v3.15.0</a>: Deprecates –log.level in favor of runtime.log_level, adds Unix Domain Socket scraping, stabilizes XOR2 float chunk encoding, and adds zstd scrape support</li>
  <li><a href="https://github.com/etcd-io/etcd/releases/tag/v3.7.2">etcd v3.7.2</a>: new patch release with cherry-picks of bugfixes, see <a href="https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.7.md">CHANGELOG</a>; also <a href="https://github.com/etcd-io/etcd/releases/tag/v3.6.15">v3.6.15</a> and <a href="https://github.com/etcd-io/etcd/releases/tag/v3.5.34">v3.5.34</a></li>
  <li><a href="https://github.com/kubernetes/autoscaler/releases/tag/vertical-pod-autoscaler-1.8.0">vertical-pod-autoscaler v1.8.0</a>: new minor release brings improved unboosting for the alpha CPU Startup Boost feature, improved API validation, configurable status leases and several other changes</li>
  <li><a href="https://github.com/kubernetes/autoscaler/releases/tag/vertical-pod-autoscaler-1.7.2">vertical-pod-autoscaler v1.7.2</a>: new patch release with various small bug fixes</li>
</ul>

<h2 id="shoutouts">Shoutouts</h2>

<p>No shoutouts this week. Want to thank someone for special efforts to improve Kubernetes? Tag them in the #shoutouts channel.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Developer News Two security advisories were published on September 24: CVE-2026-2270 (rated Medium, 5.9) describes a confused deputy attack in the StatefulSet controller that lets a user with namespace-scoped write permissions on StatefulSet and ControllerRevision objects create a cross-namespace pod, and CVE-2026-76654 (rated Medium, 5.8) describes an NTLM coercion vulnerability on Windows nodes when a pod’s subPath is a symbolic link to an attacker-controlled UNC network share; both are fixed in the September patch releases (v1.34.12, v1.35.9, v1.36.5, v1.37.1) covered in the Release Schedule below.]]></summary></entry><entry><title type="html">Week Ending September 20, 2026</title><link href="https://lwkd.info/2026/20260924" rel="alternate" type="text/html" title="Week Ending September 20, 2026" /><published>2026-09-24T19:00:00+00:00</published><updated>2026-09-24T19:00:00+00:00</updated><id>https://lwkd.info/2026/2026-09-20-update</id><content type="html" xml:base="https://lwkd.info/2026/20260924"><![CDATA[<h2 id="developer-news">Developer News</h2>

<p>Sebastian Florek (<a href="https://github.com/floreks">@floreks</a>) has <a href="https://github.com/kubernetes/community/pull/9165">moved to SIG UI emeritus</a>, following Kahiro Okina’s appointment as a SIG UI Lead covered in last week’s edition.</p>

<p>The <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/uKnwPPAZ4ww">Maintainer Summit NA 2026 schedule is now available</a>, with sessions on SIG Node, SIG Apps, SIG Architecture, and Kubernetes localization; the event runs November 8 in Salt Lake City, and a KubeCon + CloudNativeCon NA ticket is required.</p>

<h3 id="election-update">Election Update</h3>

<p>This is your last week to vote. The Steering Committee election voting will remain open through October 1, with exception requests due by September 29. If you are marked as not eligible despite your contributions, please <a href="https://elections.k8s.io/app/elections/steering---2026/exception">request an exception</a>.</p>

<h2 id="release-schedule">Release Schedule</h2>

<p><strong>Next Deadline: <a href="https://github.com/kubernetes/sig-release/blob/master/releases/release_phases.md#kep-readiness-deadline">KEP Readiness Deadline</a>, September 22-23</strong></p>

<p>The Kubernetes v1.38 release cycle has reached its KEP Readiness Deadline. Enhancement owners should confirm their opt-in status now; the <a href="https://github.com/kubernetes/sig-release/blob/master/releases/release-1.38/README.md#timeline">Enhancements Freeze</a> follows on September 29 (AoE) / September 30 at 12:00 UTC. Please reach out in the #sig-release channel in Slack with any questions.</p>

<p>September patch releases were <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/YuQScAhc1NM">delayed by one week</a> to September 23rd.</p>

<h2 id="featured-prs">Featured PRs</h2>

<h3 id="142339-dra-expose-the-allocators-constraint-mechanism-to-callers"><a href="https://github.com/kubernetes/kubernetes/pull/142339">142339: DRA: expose the allocator’s constraint mechanism to callers</a></h3>

<p><a href="https://github.com/KunWuLuan">KunWuLuan</a> exposed the DRA allocator’s constraint mechanism to its callers. This allows DRA-aware components to inspect and use allocator constraints when determining whether resource claims can be satisfied together. The change provides a clearer interface between the allocator, kube-scheduler, and device-management integrations, and lays groundwork for more informed placement decisions for workloads that require multiple or constrained resources.</p>

<h3 id="142218-dra-resourceslice-controller-optionally-refuse-to-publish-capacities-and-attributes-with-driver-domain"><a href="https://github.com/kubernetes/kubernetes/pull/142218">142218: DRA ResourceSlice controller: optionally refuse to publish capacities and attributes with driver domain</a></h3>

<p><a href="https://github.com/pohly">pohly</a> added an option for the DRA ResourceSlice controller to avoid publishing capacities and attributes associated with a driver domain. ResourceSlices are used by DRA drivers to publish device information that the scheduler uses for allocation and placement. This change gives drivers more control over which resource details are exposed through ResourceSlices while preserving the ability to publish the resources themselves, improving support for drivers with domain-specific or sensitive resource metadata.</p>

<h2 id="kep-of-the-week">KEP of the Week</h2>

<h3 id="kep-6247-kubelet-systemd-watchdog-diagnostic-guardrails"><a href="https://github.com/kubernetes/enhancements/blob/062d332c7e11abadbee49ece1d3bd62542d36125/keps/sig-node/6247-kubelet-watchdog-diagnostics/README.md">KEP-6247: Kubelet Systemd Watchdog Diagnostic Guardrails</a></h3>

<p>On Linux nodes, kubelet can use the systemd watchdog to run health checks and send periodic heartbeats through <code class="language-plaintext highlighter-rouge">SdNotify()</code>. If those heartbeats stop, systemd can restart kubelet, but the resulting failure can be difficult to diagnose. This KEP adds default-visible structured logs for watchdog checker and <code class="language-plaintext highlighter-rouge">SdNotify()</code> errors, plus one summary when existing notification retries are exhausted.</p>

<p>The proposal preserves the existing watchdog control flow, timing, retry count, backoff, socket behavior, and cancellation. The <code class="language-plaintext highlighter-rouge">KubeletWatchdogDiagnostics</code> feature gate controls the new diagnostic output and is disabled by default, so operators can enable the additional evidence during investigations without changing watchdog behavior. The work follows the kubelet watchdog discussion in <a href="https://github.com/kubernetes/kubernetes/issues/135449">kubernetes/kubernetes#135449</a> and intentionally adds no Kubernetes API, kubelet configuration fields, metrics, events, or NodeConditions.</p>

<p><a href="https://github.com/googs1025">googs1025</a> is developing the provisional KEP with SIG Node. The KEP is proposed in <a href="https://github.com/kubernetes/enhancements/pull/6248">kubernetes/enhancements#6248</a> and targets Alpha in v1.38.</p>

<h2 id="other-merges">Other Merges</h2>

<ul>
  <li>ResourceQuota updates <a href="https://github.com/kubernetes/kubernetes/pull/142190">no longer fail validation on a <code class="language-plaintext highlighter-rouge">spec.hard</code>, <code class="language-plaintext highlighter-rouge">status.hard</code> or <code class="language-plaintext highlighter-rouge">status.used</code> value that the object already holds</a>.</li>
  <li>LimitRanger <a href="https://github.com/kubernetes/kubernetes/pull/142170">no longer rejects an update of a PersistentVolumeClaim</a> because of a request that the update leaves unchanged, even when that request is outside the LimitRange minimum or maximum.</li>
  <li>Fixed issue where <a href="https://github.com/kubernetes/kubernetes/pull/142154">HorizontalPodAutoscaler incorrectly included pod overhead in the request calculation</a> for pods using pod-level resources.</li>
  <li>client-go: <a href="https://github.com/kubernetes/kubernetes/pull/142038">add support for ML-DSA keys from the crypto/mldsa package of Go 1.27</a></li>
  <li>kube-proxy <a href="https://github.com/kubernetes/kubernetes/pull/142035">no longer tries to set the <code class="language-plaintext highlighter-rouge">nf_conntrack_max</code> sysctl</a> if its value is already higher than the value kube-proxy wants it to be.</li>
  <li>CEL cost estimation for CRD validation rules using URL accessor functions (getScheme, getHostname, getHost, getPort, getEscapedPath, getQuery) now <a href="https://github.com/kubernetes/kubernetes/pull/141984">propagates the result size bound from the input URL</a>.</li>
  <li>Fixed <a href="https://github.com/kubernetes/kubernetes/pull/141892">duplicate initialization of serviceaccounts</a> REST storage when ServiceAccountIssuer is configured</li>
  <li><code class="language-plaintext highlighter-rouge">kubectl</code> now prints a <a href="https://github.com/kubernetes/kubernetes/pull/141831">warning when creating or updating a <code class="language-plaintext highlighter-rouge">DeviceTaintRule</code></a> whose <code class="language-plaintext highlighter-rouge">deviceSelector</code> is present but empty, since that selector matches every device from every driver in the cluster.</li>
  <li>Fix: <a href="https://github.com/kubernetes/kubernetes/pull/141493">silently dropped DNS resolution latency metric</a> in restclient</li>
  <li>Fixed <a href="https://github.com/kubernetes/kubernetes/pull/141487">issue where a container that was recreated while the kubelet could not reach the API server</a> was reported Ready after a kubelet restart, before its own readiness probe had run.</li>
  <li>Conformance test <code class="language-plaintext highlighter-rouge">Pods, completes the lifecycle of a Pod and the PodStatus</code> now <a href="https://github.com/kubernetes/kubernetes/pull/141460">cover resetting the <code class="language-plaintext highlighter-rouge">PodReadyToStartContainers</code> condition</a>.</li>
  <li>kubelet: <a href="https://github.com/kubernetes/kubernetes/pull/141100">fixed wrong variable in container memory resize validation</a></li>
  <li>Added <a href="https://github.com/kubernetes/kubernetes/pull/140058">auto complete support</a> to kubectl explain</li>
  <li>Fixed <a href="https://github.com/kubernetes/kubernetes/pull/142214">kubectl describe service printing “+ 0 more…” after the endpoint list</a> when exactly three ready endpoints are followed by not-ready endpoints.</li>
  <li>kubectl debug: The sysadmin profile now <a href="https://github.com/kubernetes/kubernetes/pull/138182">auto-detects Windows nodes and configures debug pods as Windows Host Process Containers</a> with NT AUTHORITY\SYSTEM access.</li>
</ul>

<h2 id="promotions">Promotions</h2>

<ul>
  <li>KEP-4858 “<a href="https://github.com/kubernetes/kubernetes/pull/141979">IP/CIDR Validation improvements</a>” is now GA</li>
</ul>

<h2 id="deprecated">Deprecated</h2>

<ul>
  <li>The <a href="https://github.com/kubernetes/kubernetes/pull/141946"><code class="language-plaintext highlighter-rouge">DynamicResourceAllocation</code></a> feature gate, which has been locked to default on since v1.35, has been removed</li>
</ul>

<h2 id="version-updates">Version Updates</h2>

<ul>
  <li>Kubernetes is now built using <a href="https://github.com/kubernetes/kubernetes/pull/142176">Go 1.27.1</a></li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/142012">Updated go-jose and go-oidc packages to latest versions</a></li>
  <li>cadvisor bumped to <a href="https://github.com/kubernetes/kubernetes/pull/142272">v0.60.6</a>.</li>
</ul>

<h2 id="subprojects-and-dependency-updates">Subprojects and Dependency Updates</h2>

<ul>
  <li><a href="https://github.com/containerd/containerd/releases/tag/v2.4.0">containerd v2.4.0</a>: remove restore in CreateContainer, remove deprecated CRI/tracing config options, enable mount manager for image mounts in CRI</li>
  <li><a href="https://github.com/containerd/containerd/releases/tag/api%2Fv1.12.0">containerd API v1.12.0</a>: align with containerd 2.4.0, deprecate task API address/version fields in runc options</li>
  <li><a href="https://github.com/cri-o/cri-o/releases/tag/v1.37.0">cri-o v1.37.0</a>: fix CVE-2026-15809, add conmon-rs v1.0.1 support, remove insecure_registries config option</li>
  <li><a href="https://github.com/prometheus/prometheus/releases/tag/v3.15.0-rc.0">prometheus v3.15.0-rc.0</a>: deprecate –log.level in favor of runtime.log_level, add Unix Domain Socket scrape support, stabilize XOR2 float chunk encoding</li>
  <li><a href="https://github.com/containerd/nerdctl/releases/tag/v2.4.0">nerdctl v2.4.0</a>: adopt Docker v29 default images output, add –mount type=image, add Docker v25 recursive read-only mount support</li>
</ul>

<h2 id="shoutouts">Shoutouts</h2>

<p>No shoutouts this week. Want to thank someone for special efforts to improve Kubernetes? Tag them in the #shoutouts channel.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Developer News]]></summary></entry><entry><title type="html">Week Ending September 13, 2026</title><link href="https://lwkd.info/2026/20260918" rel="alternate" type="text/html" title="Week Ending September 13, 2026" /><published>2026-09-18T06:22:00+00:00</published><updated>2026-09-18T06:22:00+00:00</updated><id>https://lwkd.info/2026/2026-09-13-update</id><content type="html" xml:base="https://lwkd.info/2026/20260918"><![CDATA[<h2 id="developer-news">Developer News</h2>

<p>Dims has <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/nqfrBXcUDUg">proposed building kubelet as a static binary (CGO_ENABLED=0)</a> to remove the last remaining CGO dependency in Kubernetes binaries; discussion has surfaced concerns about DNS resolution changes, glibc/NSS behavior differences, and userns account lookup.</p>

<p>Kahiro Okina (<a href="https://github.com/kahirokunn">@kahirokunn</a>) has been <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/lIddnRw47w8">appointed as a SIG UI Lead</a> following a lazy consensus period; Kahiro has been contributing to Headlamp on multi-cluster UI, plugin ecosystem work, and mentoring.</p>

<p>SIG Node has <a href="https://github.com/kubernetes/community/pull/9152">added security-profiles-merger as a subproject</a>.</p>

<p>SIG Instrumentation have <a href="https://github.com/kubernetes/community/pull/9148">added kubernetes-mixin as a subproject</a>.</p>

<p>The <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/-DG0UpNqMCg">AI Conformance program now supports hybrid verification</a> starting with v1.37, letting vendors submit automated test results alongside documentation evidence; Kubernetes releases prior to v1.34 can no longer be certified.</p>

<p><a href="https://github.com/kubernetes-sigs/agent-sandbox/releases/tag/v1.0.0">Agent Sandbox v1.0 has been released</a>, consolidating on <code class="language-plaintext highlighter-rouge">v1beta1</code> APIs, adding a Go <code class="language-plaintext highlighter-rouge">sandbox-router</code> for browser-based interactive sessions, and adding a TypeScript SDK alongside existing Go and Python SDKs.</p>

<h3 id="election-update">Election Update</h3>

<p>The Steering Committee election voting will remain open through October 1, with exception requests due by September 29. If you are marked as not eligible despite your contributions, please <a href="https://elections.k8s.io/app/elections/steering---2026/exception">request an exception</a>.</p>

<h2 id="release-schedule">Release Schedule</h2>

<p><strong>Next Deadline: <a href="https://github.com/kubernetes/sig-release/blob/master/releases/release_phases.md#kep-readiness-deadline">KEP Readiness Deadline</a>, <a href="https://github.com/kubernetes/sig-release/blob/master/releases/release-1.38/README.md#timeline">September 22, 2026 (AoE) / September 23, 2026 at 12:00 UTC</a></strong></p>

<p>The Kubernetes v1.38 release cycle is underway. The schedule has been finalized and you can find the full timeline <a href="https://github.com/kubernetes/sig-release/tree/master/releases/release-1.38#timeline">here</a>.
Enhancements targeted for this cycle are expected to be opted in for the release by the KEP Readiness Deadline. Enhancements that miss it would require an exception. KEP authors should have their <a href="https://github.com/kubernetes/sig-release/blob/master/releases/release_phases.md#prr-freeze">PRs to the kubernetes/enhancements repo opened</a> by the KEP Readiness Deadline on September 22nd. The <a href="https://github.com/kubernetes/sig-release/blob/master/releases/release_phases.md#enhancements-freeze">Enhancements Freeze</a> is scheduled for September 29 (AoE) / September 30 at 12:00 UTC. Please reach out in the #sig-release channel in Slack if you have any questions!</p>

<h2 id="featured-prs">Featured PRs</h2>

<h3 id="142121-kubelet-add-memorymanagerpolicyoptions-with-memory-drift-tolerance-kep-6232"><a href="https://github.com/kubernetes/kubernetes/pull/142121">142121: kubelet: add memoryManagerPolicyOptions with memory-drift-tolerance (KEP-6232)</a></h3>

<p><a href="https://github.com/AI-Armless">AI-Armless</a> added the <code class="language-plaintext highlighter-rouge">memoryManagerPolicyOptions</code> configuration and <code class="language-plaintext highlighter-rouge">memory-drift-tolerance</code> setting described in <a href="https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/6232-memory-manager-policy-options">KEP-6232</a>. The tolerance allows the Memory Manager to account for small differences between expected and observed memory assignments instead of treating every drift as an allocation failure. This gives operators more control over memory-management behavior on nodes using the Memory Manager while preserving strict accounting when required.</p>

<h3 id="142108-update-podcertificaterequest-and-podcertificateprojection-to-allow-setting-ml-dsa-algorithms"><a href="https://github.com/kubernetes/kubernetes/pull/142108">142108: update podcertificaterequest and podcertificateprojection to allow setting ML-DSA algorithms</a></h3>

<p><a href="https://github.com/everraven">everraven</a> extended Pod certificate request and projection APIs to support selecting ML-DSA signature algorithms. This allows workloads to request certificates using post-quantum-capable cryptographic algorithms and makes the selected algorithm available through the Pod certificate flow. The change affects certificate request APIs, kubelet projection behavior, and authentication-related integrations as Kubernetes evolves its support for post-quantum cryptography.</p>

<h3 id="142074-kep-2172-warn-about-implicitly-insecure-container-uidsgids"><a href="https://github.com/kubernetes/kubernetes/pull/142074">142074: [KEP-2172] warn about implicitly insecure container UIDs/GIDs</a></h3>

<p><a href="https://github.com/Priyankasaggu11929">Priyankasaggu11929</a> implemented the warning described in <a href="https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/2172-user-namespaces">KEP-2172</a>. Kubernetes now provides visibility when container UID/GID settings may result in an implicitly insecure configuration instead of leaving users to discover the risk through runtime behavior or external security checks. This helps operators identify potentially unsafe workload configuration earlier and improves the security guidance available during Pod setup.</p>

<h3 id="142071-kube-apiserver-add-watch-cache-max-average-object-size-flag-and-byte-budget-bypass"><a href="https://github.com/kubernetes/kubernetes/pull/142071">142071: kube-apiserver: add watch-cache-max-average-object-size flag and byte budget bypass</a></h3>

<p><a href="https://github.com/wdoekes">wdoekes</a> added kube-apiserver controls for limiting the average object size stored in the watch cache and introduced a byte-budget bypass for objects that exceed the configured limit. These controls give cluster operators more visibility and control over watch-cache memory usage, especially for resource types containing large objects. The change affects API-server cache behavior and can help prevent unusually large objects from consuming a disproportionate share of watch-cache capacity.</p>

<h2 id="kep-of-the-week">KEP of the Week</h2>

<h3 id="kep-6249-publish-graceful-node-shutdown-state-for-daemonset-coordination"><a href="https://github.com/kubernetes/enhancements/pull/6351">KEP-6249: Publish Graceful Node Shutdown state for DaemonSet coordination</a></h3>

<p>When a node enters Graceful Node Shutdown, kubelet knows that it is terminating Pods but the control plane does not. The DaemonSet controller can therefore see a missing DaemonSet Pod, create a replacement, and have kubelet reject it because the node is shutting down, causing repeated create and reject churn. This KEP makes the shutdown state visible on the Node object through the conditions introduced by <a href="https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/5683-lifecycle-conditions">KEP-5683</a>.</p>

<p>The proposal has kubelet publish <code class="language-plaintext highlighter-rouge">GracefulNodeShutdownInProgress=True</code> and <code class="language-plaintext highlighter-rouge">DrainInProgress=True</code> before terminating Pods. The DaemonSet controller suppresses new Pod creation while both conditions are true, while the Node Lifecycle Controller clears lingering conditions if kubelet is lost. This follows the approach discussed for <a href="https://github.com/kubernetes/kubernetes/issues/122912">kubernetes/kubernetes#122912</a>, avoids introducing new API types or condition constants, and helps operators distinguish intentional node shutdown from a broken DaemonSet rollout.</p>

<p><a href="https://github.com/danbruno101">danbruno101</a> is developing the proposal with SIG Node and SIG Apps. The KEP was reviewed in WG Node Lifecycle meetings on August 10, 17, and 24, and its current PR is seeking SIG Node review and Production Readiness Review ownership.</p>

<p>KEP 6249 is targeting Alpha in Kubernetes v1.38 behind the <code class="language-plaintext highlighter-rouge">DaemonSetGracefulNodeShutdown</code> feature gate.</p>

<h2 id="other-merges">Other Merges</h2>

<ul>
  <li>iSCSI: <a href="https://github.com/kubernetes/kubernetes/pull/141863">fixes a bug where detaching a block-mode iSCSI volume could fail permanently when the <code class="language-plaintext highlighter-rouge">/dev/disk/by-path</code> symlink was already gone</a> (e.g: after an iSCSI session was lost before teardown), leaving the volume stuck in <code class="language-plaintext highlighter-rouge">node.status.volumesInUse</code> and blocking attach on other nodes.</li>
  <li>kubectl: <a href="https://github.com/kubernetes/kubernetes/pull/140230">prevents kuberc defaults from matching unrelated commands</a>, fixing a bug where kuberc-configured flag defaults could be applied to commands they were not intended for.</li>
  <li>scheduler: <a href="https://github.com/kubernetes/kubernetes/pull/139450">calls <code class="language-plaintext highlighter-rouge">Done</code> before requeuing a pod in <code class="language-plaintext highlighter-rouge">AddUnschedulablePodIfNotPresent</code></a>, fixing a bug in the scheduling queue lifecycle.</li>
  <li>Fixes a <a href="https://github.com/kubernetes/kubernetes/pull/135486">default-preemption error when using filter extenders</a>.</li>
  <li>kubectl: <a href="https://github.com/kubernetes/kubernetes/pull/141613">handles equal missing sort values</a>, fixing a bug in <code class="language-plaintext highlighter-rouge">kubectl get --sort-by</code> output when multiple items have equal or missing sort keys.</li>
  <li>HPA: <a href="https://github.com/kubernetes/kubernetes/pull/141397">caps replica count calculations at max int32</a>, preventing overflow in HorizontalPodAutoscaler replica computations.</li>
  <li>Storage: <a href="https://github.com/kubernetes/kubernetes/pull/141385">removes an optimistic <code class="language-plaintext highlighter-rouge">MountedByNode</code> default in <code class="language-plaintext highlighter-rouge">AddVolumeNode</code></a>, correcting a case where the field could be reported as mounted before mount was confirmed.</li>
  <li>CPU Manager: <a href="https://github.com/kubernetes/kubernetes/pull/141041">fixes re-allocations for pods using pod-level resources after kubelet restarts</a>.</li>
  <li>scheduler: <a href="https://github.com/kubernetes/kubernetes/pull/141930">adds validation for child pod groups to require matching priority and <code class="language-plaintext highlighter-rouge">preemptionPolicy</code></a>.</li>
</ul>

<h2 id="promotions">Promotions</h2>

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/141536"><code class="language-plaintext highlighter-rouge">volume_operation_total_errors</code> metric to Beta</a>.</li>
</ul>

<h2 id="deprecated">Deprecated</h2>

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/141208"><code class="language-plaintext highlighter-rouge">apidiscovery.k8s.io/v2beta1</code> removed</a>; use <code class="language-plaintext highlighter-rouge">apidiscovery.k8s.io/v2</code> instead.
    <h2 id="subprojects-and-dependency-updates">Subprojects and Dependency Updates</h2>
  </li>
  <li><a href="https://github.com/kubernetes-sigs/cluster-api/releases/tag/v1.14.2">cluster-api v1.14.2</a>: add –tls-curve-preferences flag, fix KCP deleting learners after Node registration, fix KCP rollout issue after upgrade from CAPI v1.11; also <a href="https://github.com/kubernetes-sigs/cluster-api/releases/tag/v1.13.6">v1.13.6</a></li>
  <li><a href="https://github.com/prometheus/prometheus/releases/tag/v3.13.3">prometheus v3.13.3</a>: fix GO-2026-5841, GO-2026-6303, fix out-of-order queries blocking compaction for hours, fix deleted series causing missing samples after restart</li>
</ul>

<h2 id="shoutouts">Shoutouts</h2>

<ul>
  <li>No shoutouts this week. Want to thank someone for special efforts to improve Kubernetes? Tag them in the #shoutouts channel.</li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[Developer News]]></summary></entry><entry><title type="html">Week Ending September 6, 2026</title><link href="https://lwkd.info/2026/20260911" rel="alternate" type="text/html" title="Week Ending September 6, 2026" /><published>2026-09-11T01:00:00+00:00</published><updated>2026-09-11T01:00:00+00:00</updated><id>https://lwkd.info/2026/2026-09-06-update</id><content type="html" xml:base="https://lwkd.info/2026/20260911"><![CDATA[<h2 id="developer-news">Developer News</h2>

<p>SIG Architecture has completed <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/P7NosP-T3Vc">a review of feature gates</a> on <code class="language-plaintext highlighter-rouge">master</code> (v1.38 development) against the <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/feature-gates.md">feature gates documentation</a>. The review identified overdue feature gates, gates due for removal in v1.38, GA/deprecated gates that are not locked to their default, and several stale alpha/beta gates across SIG Node, API Machinery, Auth, Scheduling, Network, Windows, Storage, Instrumentation, Apps, and Cloud Provider.</p>

<p>SIG UI <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/lIddnRw47w8">has nominated</a> <a href="https://github.com/kahirokunn">Kahiro Okina (@kahirokunn)</a> as a new SIG UI Lead, following a recommendation from current SIG UI Chairs. Kahiro has been a contributor and reviewer to Headlamp, contributing to its multi-cluster UI, plugin ecosystem, mentoring, and community growth. The nomination is now in a one-week lazy consensus period.</p>

<h3 id="election-update">Election Update</h3>

<p>The Steering Committee election voting will remain open through October 1, with exception requests due by September 29. If you are marked as not eligible despite your contributions, please <a href="https://elections.k8s.io/app/elections/steering---2026/exception">request an exception</a>.</p>

<h2 id="release-schedule">Release Schedule</h2>

<p><strong>Next Deadline: <a href="https://github.com/kubernetes/sig-release/blob/master/releases/release_phases.md#kep-readiness-deadline">KEP Readiness Deadline</a>, <a href="https://github.com/kubernetes/sig-release/blob/master/releases/release-1.38/README.md#timeline">September 22, 2026 (AoE) / September 23, 2026 at 12:00 UTC</a></strong></p>

<p>The Kubernetes v1.38 release cycle began on August 31, with the final release targeted for December 16, 2026. The KEP Readiness Deadline is scheduled for September 22, 2026 (AoE) / September 23, 2026 at 12:00 UTC. Enhancements are expected to complete their Production Readiness Review by this deadline; enhancements that miss it require an exception. The <a href="https://github.com/kubernetes/sig-release/blob/master/releases/release_phases.md#enhancements-freeze">Enhancements Freeze</a> is scheduled for September 29 (AoE) / September 30 at 12:00 UTC. If you’d like to include your KEP in the v1.38 release cycle, please reach out to your SIG leads to get your KEP tracked for the release. Find more information in the <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/s137t7cc66A">Call for Enhancements</a> announcement.</p>

<h2 id="featured-prs">Featured PRs</h2>

<h3 id="141959-conditional-authz-4n-add-conditional-authz-support-to-kube-apiserver"><a href="https://github.com/kubernetes/kubernetes/pull/141959">141959: Conditional Authz [4/n]: Add conditional authz support to kube-apiserver</a></h3>

<p><a href="https://github.com/luxas">luxas</a> advanced <a href="https://github.com/kubernetes/enhancements/issues/5681">KEP-5681: Conditional Authorization</a> by adding conditional authorization support to the kube-apiserver. Conditional authorization lets an authorizer return requirements that depend on request-object content, which the API server can evaluate later during admission instead of making a decision solely from request metadata. This PR is the fourth part of the implementation series and builds on earlier core machinery, enabling more context-aware authorization policies for Kubernetes APIs.</p>

<h3 id="141878-scheduler-api-implement-alpha-allowdisruptionbyprioritygreaterthanorequal-kep-3280"><a href="https://github.com/kubernetes/kubernetes/pull/141878">141878: scheduler, api: implement alpha allowDisruptionByPriorityGreaterThanOrEqual (KEP-3280)</a></h3>

<p><a href="https://github.com/NAVEENKUMARRK777">NAVEENKUMARRK777</a> implemented the alpha <code class="language-plaintext highlighter-rouge">allowDisruptionByPriorityGreaterThanOrEqual</code> capability described in <a href="https://github.com/kubernetes/enhancements/tree/master/keps/sig-scheduling/3280-pod-disruption-conditions">KEP-3280</a>. The change adds API and scheduler support for controlling which lower-priority workloads may be disrupted, based on a priority threshold. This gives workload authors and cluster operators more precise control over disruption behavior for priority-sensitive applications.</p>

<h3 id="141860-implement-recursive-statuses-for-composite-pod-groups"><a href="https://github.com/kubernetes/kubernetes/pull/141860">141860: Implement recursive statuses for Composite Pod Groups</a></h3>

<p><a href="https://github.com/jdizkowski">jdizkowski</a> implemented recursive status handling for CompositePodGroups, part of the <a href="https://github.com/kubernetes/enhancements/tree/master/keps/sig-scheduling/6012-composite-pod-groups">CompositePodGroup API proposal (KEP-6012)</a>. CompositePodGroups are intended to represent hierarchical, heterogeneous workloads whose components may have different scheduling requirements. This PR propagates status through the hierarchy, allowing users and controllers to observe the aggregate state of complex workload groups instead of inspecting each child PodGroup separately.</p>

<h2 id="kep-of-the-week">KEP of the Week</h2>

<h3 id="kep-6058-csi-global-mount-fallback-for-volume-reconstruction"><a href="https://github.com/kubernetes/enhancements/pull/6059">KEP-6058: CSI global mount fallback for volume reconstruction</a></h3>

<p>This enhancement extends <a href="https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/3756-volume-reconstruction">KEP-3756</a> to recover CSI volumes after a kubelet restart when pod-local <code class="language-plaintext highlighter-rouge">vol_data.json</code> metadata is missing or corrupt. Without the fallback, a global mount can remain active after its Pod directory disappears, causing the volume to leave <code class="language-plaintext highlighter-rouge">node.status.volumesInUse</code> and potentially allowing a ReadWriteOnce filesystem to be attached to another node. The proposal lets kubelet reconstruct the volume from metadata stored beside the global mount, then verify or unstage it through the normal volume-manager flow.</p>

<p>The work builds on a long-standing reconstruction problem tracked in <a href="https://github.com/kubernetes/kubernetes/issues/101791">kubernetes/kubernetes#101791</a> and the manual-cleanup procedure documented by KEP-3756. <a href="https://github.com/cniackz">cniackz</a>, with SIG Storage and SIG Node contributors including <a href="https://github.com/jsafrane">jsafrane</a> and <a href="https://github.com/gnufied">gnufied</a>, is implementing the fallback in <a href="https://github.com/kubernetes/kubernetes/pull/138454">kubernetes/kubernetes#138454</a>. The KEP is implementable, and its KEP and implementation updates are currently under review.</p>

<p>KEP 6058 is targeting Alpha in Kubernetes v1.38.</p>

<p>The change is opt-in behind a new alpha feature gate and affects kubelet CSI reconstruction and unmounting. It is intended to prevent leaked global mounts and reduce the risk of double-mounting and data corruption on storage systems such as Fibre Channel, iSCSI, and EBS.</p>

<h2 id="other-merges">Other Merges</h2>

<ul>
  <li>kubectl: <a href="https://github.com/kubernetes/kubernetes/pull/141728">documentation for the <code class="language-plaintext highlighter-rouge">--restart</code> flag values on <code class="language-plaintext highlighter-rouge">kubectl run</code></a> has been improved.</li>
  <li>Adds a <a href="https://github.com/kubernetes/kubernetes/pull/141727"><code class="language-plaintext highlighter-rouge">+k8s:immutable</code> tag to validation-gen</a> so declarative validation can express immutable field semantics.</li>
  <li>kube-scheduler adds a <a href="https://github.com/kubernetes/kubernetes/pull/141715"><code class="language-plaintext highlighter-rouge">PostBind</code> extension point</a> under <a href="https://github.com/kubernetes/enhancements/tree/master/keps/sig-scheduling/6021-postbind-extension-point">KEP-6021</a> for plugins that run after a Pod has been bound to a Node.</li>
  <li>The <a href="https://github.com/kubernetes/kubernetes/pull/141714">cluster-autoscaler now integrates with the Cluster API</a> directly for machine-lifecycle operations rather than via a shim.</li>
  <li>kubectl: adds <a href="https://github.com/kubernetes/kubernetes/pull/141709"><code class="language-plaintext highlighter-rouge">--warnings-as-errors</code> support to <code class="language-plaintext highlighter-rouge">kubectl apply</code> and <code class="language-plaintext highlighter-rouge">kubectl apply --dry-run=server</code></a>, so CI pipelines can fail on server-side warning conditions.</li>
  <li>kubelet: <a href="https://github.com/kubernetes/kubernetes/pull/141701">fixes swap accounting for pods with cgroups v2 <code class="language-plaintext highlighter-rouge">memory.swap.max</code></a> so allocated swap is now correctly reflected in Pod status.</li>
  <li><code class="language-plaintext highlighter-rouge">kube-controller-manager</code> adds a <a href="https://github.com/kubernetes/kubernetes/pull/141696">new <code class="language-plaintext highlighter-rouge">_total</code> counter for controller reconciliation errors</a>.</li>
  <li>kubelet: <a href="https://github.com/kubernetes/kubernetes/pull/141691"><code class="language-plaintext highlighter-rouge">PodSandboxConfig.resource_claims</code> is now propagated to the runtime</a> for DRA-enabled pods.</li>
  <li>validation-gen: <a href="https://github.com/kubernetes/kubernetes/pull/141689">eliminates zero-value comparison in <code class="language-plaintext highlighter-rouge">+k8s:required</code> codegen</a> so pointer-typed required fields don’t incorrectly reject zero values.</li>
  <li>kube-proxy nftables: <a href="https://github.com/kubernetes/kubernetes/pull/141684">fixes cross-namespace hairpin traffic for NodePort services</a>.</li>
  <li>DRA: the <a href="https://github.com/kubernetes/kubernetes/pull/141680">scheduler filter now checks device tainted state</a> under KEP-5055 (DRA Device Taints and Tolerations), rejecting pods that don’t tolerate the taint.</li>
  <li>Adds <a href="https://github.com/kubernetes/kubernetes/pull/141678">DRA Extended Resource support to <code class="language-plaintext highlighter-rouge">scheduler_perf</code></a> so DRA benchmarks can measure Extended Resource pathways.</li>
  <li>validation-gen: <a href="https://github.com/kubernetes/kubernetes/pull/141673">fixes ProtocolIsProto codegen for the slice-to-pointer path</a>.</li>
  <li>apiserver: <a href="https://github.com/kubernetes/kubernetes/pull/141667">structured logging trace context is now propagated through request paths</a>.</li>
  <li>DRA: introduces a <a href="https://github.com/kubernetes/kubernetes/pull/141664">prioritized-list ordering algorithm for <code class="language-plaintext highlighter-rouge">PrioritizedList</code></a> requests.</li>
  <li>scheduler: attaches a <a href="https://github.com/kubernetes/kubernetes/pull/141663"><code class="language-plaintext highlighter-rouge">SchedulingResult</code> to Pod events</a> so future scheduling events can reference the prior decision.</li>
  <li>kubelet DRA: <a href="https://github.com/kubernetes/kubernetes/pull/141557">fixes a bug where shared claims were dropped across kubelet restarts</a>.</li>
  <li>Fixes an <a href="https://github.com/kubernetes/kubernetes/pull/141333">apiserver watch cache metric bug</a> where <code class="language-plaintext highlighter-rouge">events_dispatched_total</code> was incremented for undispatched bookmarks.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/140447">Renames <code class="language-plaintext highlighter-rouge">endpoint_slice_controller_changes</code> to <code class="language-plaintext highlighter-rouge">endpoint_slice_controller_changes_total</code></a> to add the conventional <code class="language-plaintext highlighter-rouge">_total</code> suffix; the old name is retained temporarily for backward compatibility.</li>
  <li>Clarifies that the <a href="https://github.com/kubernetes/kubernetes/pull/140233"><code class="language-plaintext highlighter-rouge">/flagz</code> endpoint reflects flag layer, not effective config</a>.</li>
</ul>

<h2 id="promotions">Promotions</h2>

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/141726">DRA discoverable device metadata to Beta</a> under KEP-5304.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/141698"><code class="language-plaintext highlighter-rouge">ImageVolume</code> to GA</a>.</li>
</ul>

<h2 id="version-updates">Version Updates</h2>

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/141707">go to 1.26.6</a>.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/141703">etcd to v3.7.2</a>.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/141699">containerd to 2.1.5 for CRI e2e</a>.</li>
</ul>

<h2 id="subprojects-and-dependency-updates">Subprojects and Dependency Updates</h2>

<ul>
  <li><a href="https://github.com/containerd/containerd/releases/tag/v2.3.5">containerd v2.3.5</a>: fix CVE-2026-53495, avoid hangs and data races when streaming container I/O in CRI, fix EROFS unpack failure; also <a href="https://github.com/containerd/containerd/releases/tag/v2.2.8">v2.2.8</a>, <a href="https://github.com/containerd/containerd/releases/tag/v2.0.12">v2.0.12</a>, <a href="https://github.com/containerd/containerd/releases/tag/v1.7.35">v1.7.35</a></li>
  <li><a href="https://github.com/cri-o/cri-o/releases/tag/v1.36.5">cri-o v1.36.5</a>: deduplicate concurrent image volume MountImage calls, fix cpuset leak from init containers in high performance hooks; also <a href="https://github.com/cri-o/cri-o/releases/tag/v1.35.8">v1.35.8</a>, <a href="https://github.com/cri-o/cri-o/releases/tag/v1.34.13">v1.34.13</a></li>
  <li><a href="https://github.com/kubernetes-sigs/cluster-api/releases/tag/v1.14.1">cluster-api v1.14.1</a>: fix CRD migrator cache usage, fix ParseSecretName round-trip for hyphenated purposes, bump Go to 1.26.6</li>
</ul>

<h2 id="shoutouts">Shoutouts</h2>

<ul>
  <li>No shoutouts this week. Want to thank someone for special efforts to improve Kubernetes? Tag them in the #shoutouts channel.</li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[Developer News]]></summary></entry><entry><title type="html">Week Ending August 30, 2026</title><link href="https://lwkd.info/2026/20260904" rel="alternate" type="text/html" title="Week Ending August 30, 2026" /><published>2026-09-04T01:00:00+00:00</published><updated>2026-09-04T01:00:00+00:00</updated><id>https://lwkd.info/2026/2026-08-30-update</id><content type="html" xml:base="https://lwkd.info/2026/20260904"><![CDATA[<h2 id="developer-news">Developer News</h2>

<p>The <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/features-add-ons/maintainer-summit/#schedule">Maintainer Summit schedule</a> for Kubecon North America is live; it includes two SIG/Subproject meetings and <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/features-add-ons/maintainer-summit/?id=1284587#schedule">Ask The Kubernetes Steering Committee</a>.  The same week, the <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/program/cfp/">Kubecon Europe CfP</a> opened.</p>

<h3 id="election-update">Election Update</h3>
<p>Voting is now open for the <a href="https://elections.k8s.io/">2026 Kubernetes Steering Committee election</a>. Six candidates are running this year, including <a href="https://github.com/kubernetes/community/blob/main/elections/steering/2026/candidate-stmcginnis.md">Sean McGinnis</a> (stmcginnis), <a href="https://github.com/kubernetes/community/blob/main/elections/steering/2026/candidate-elmiko.md">Michael McCune</a> (elmiko), <a href="https://github.com/kubernetes/community/blob/main/elections/steering/2026/candidate-priyankasaggu11929.md">Priyanka Saggu</a> (priyankasaggu11929), <a href="https://github.com/kubernetes/community/blob/main/elections/steering/2026/candidate-janetkuo.md">Janet Kuo</a> (janetkuo), <a href="https://github.com/kubernetes/community/blob/main/elections/steering/2026/candidate-kaslin.md">Kaslin Fields</a> (kaslin), and <a href="https://github.com/kubernetes/community/blob/main/elections/steering/2026/candidate-jackfrancis.md">Jack Francis</a> (jackfrancis).</p>

<p>Voting will remain open through October 1, with exception requests due by September 29. If you are marked as not eligible despite your contributions, please <a href="https://elections.k8s.io/app/elections/steering---2026/exception">request an exception</a>.</p>

<h3 id="contributor-blog">Contributor Blog</h3>
<p><a href="https://www.kubernetes.dev/blog/2026/08/19/kcd-around-the-world-san-francisco/">KCD Around the World: San Francisco Bay Area 2026 Organizers</a> explores how KCD San Francisco Bay Area is bringing together a vast and often siloed cloud native community. Kashish Verma and Rey Lejano sit down with organizers Lisa-Marie Namphy and Jason (Jay) Smith to talk about how the event came together, what they learned from its first edition, and how this year’s KCD is evolving with the growing intersection of Kubernetes, AI, and open source.</p>

<h2 id="release-schedule">Release Schedule</h2>

<p><strong>Next Deadline: v1.38 Release Cycle Begins, August 31</strong></p>

<p>The Kubernetes v1.38 release cycle began on August 31, with the final release currently targeted for December 16, 2026.</p>

<p>Starting with v1.38, the release cycle has been adjusted to give contributors more time between Enhancements Freeze and Code Freeze. The change is intended to give KEPs more time to be reviewed and merged before Code Freeze. The schedule is still being finalized, so more details will follow as the cycle progresses.</p>

<h2 id="featured-prs">Featured PRs</h2>

<h3 id="141660-show-terminating-status-for-statefulsets-in-kubectl-get"><a href="https://github.com/kubernetes/kubernetes/pull/141660">141660: Show Terminating status for StatefulSets in kubectl get</a></h3>

<p><a href="https://github.com/BitWeaverDev">BitWeaverDev</a> added terminating-state
visibility for StatefulSets in <code class="language-plaintext highlighter-rouge">kubectl get</code>. This makes it easier for users
and operators to identify StatefulSets that are being deleted but have not
finished terminating, without needing to inspect individual Pods or controller details. The change improves the day-to-day observability of StatefulSet lifecycle operations and helps users investigate deletions that are taking longer than expected.</p>

<h3 id="141556-dra-fix-extended-resources-when-dranodeallocatableresources-is-enabled"><a href="https://github.com/kubernetes/kubernetes/pull/141556">141556: DRA: fix extended resources when DRANodeAllocatableResources is enabled</a></h3>

<p><a href="https://github.com/harche">harche</a> fixed extended-resource accounting when
<code class="language-plaintext highlighter-rouge">DRANodeAllocatableResources</code> is enabled. Incorrect handling in this path could cause the node’s available extended resources to be represented inaccurately, affecting scheduling decisions for Pods that use Dynamic Resource Allocation. This PR corrects the resource information exposed for DRA, improving coordination between node resource reporting and scheduling for workloads that use device or other extended-resource claims.</p>

<h2 id="subprojects-and-dependency-updates">Subprojects and Dependency Updates</h2>

<ul>
  <li><a href="https://github.com/cri-o/cri-o/releases/tag/v1.36.4">cri-o v1.36.4</a>: fix crash in ListPodSandboxStats on cgroup cleanup during teardown, add per-container targeting for cpu-load-balancing/irq-load-balancing/cpu-quota annotations; also <a href="https://github.com/cri-o/cri-o/releases/tag/v1.35.7">v1.35.7</a>, <a href="https://github.com/cri-o/cri-o/releases/tag/v1.34.12">v1.34.12</a></li>
  <li><a href="https://github.com/containerd/nerdctl/releases/tag/v2.4.0-beta.0">nerdctl v2.4.0-beta.0</a>: add image convert –erofs, add container –mount type=image, use bundled containerd v2.4.0-beta.0</li>
  <li><a href="https://github.com/containerd/containerd/releases/tag/api%2Fv1.12.0-rc.0">containerd API v1.12.0-rc.0</a>: deprecate “allow mount handlers” in shim info in favor of mount capability extension</li>
</ul>

<h2 id="shoutouts">Shoutouts</h2>

<ul>
  <li>Benjamin Wang: Shoutout to @Wei Fu, @Geeta Gharpure, @gyuho, @Piotr Tabor, @serathius, and everyone who helped complete the decade-plus migration from etcd v2store to v3store.</li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[Developer News]]></summary></entry><entry><title type="html">Week Ending August 23, 2026</title><link href="https://lwkd.info/2026/20260828" rel="alternate" type="text/html" title="Week Ending August 23, 2026" /><published>2026-08-28T18:00:00+00:00</published><updated>2026-08-28T18:00:00+00:00</updated><id>https://lwkd.info/2026/2026-08-23-update</id><content type="html" xml:base="https://lwkd.info/2026/20260828"><![CDATA[<h2 id="developer-news">Developer News</h2>

<p><a href="https://groups.google.com/g/kubernetes-announce/c/DfYb5z_aA1Q">Kubernetes v1.37.0</a> was released on August 26; see the Release Schedule below for details.</p>

<p>SIG Windows has <a href="https://github.com/kubernetes/community/pull/9124">added @jrvaldes as co-chair</a>, with Aravindh Puthiyaparambil moving to emeritus.</p>

<p>SIG Node has <a href="https://github.com/kubernetes/community/pull/9096">published a new developer guide for node declared features</a>, documenting how contributors should declare and use node-level feature signals.</p>

<h3 id="election-update">Election Update</h3>

<p><a href="https://github.com/kubernetes/community/tree/main/elections/steering/2026">Voting for the Kubernetes Steering Committee</a> continues.  If you are a Kubernetes Org member, please vote before October 1.</p>

<h2 id="release-schedule">Release Schedule</h2>

<p><strong>Kubernetes v1.37: Garhwal</strong> has been released on 26th August! The <a href="https://kubernetes.io/blog/2026/08/26/kubernetes-v1-37-release/">Release Announcement</a> and <a href="https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.37.md">Release Notes</a> are now available. A few contributor-focused changes worth calling out:</p>
<ul>
  <li><a href="https://www.kubernetes.dev/resources/keps/3541/">StatefulSet Recreate strategy</a> — This KEP adds a new rollout strategy that deletes the existing Pods before creating the updated ones, giving StatefulSet workloads another option beyond RollingUpdate and OnDelete.</li>
  <li><a href="https://www.kubernetes.dev/resources/keps/5517/">DRA improvements</a> — v1.37 adds Alpha support for node-allocatable resource requests and derived attributes <a href="https://www.kubernetes.dev/resources/keps/6080/">(KEP-6080)</a>, making it easier for DRA drivers and workloads to account for resources and match related devices.</li>
  <li><a href="https://www.kubernetes.dev/resources/keps/5823/">Pod-level checkpoint and restore</a> — This KEP introduces Alpha support for checkpointing and restoring Pods through new CRI APIs.</li>
  <li><a href="https://www.kubernetes.dev/resources/keps/2371/">cAdvisor-less container and Pod stats</a> — This moves kubelet container and Pod statistics toward the CRI, reducing reliance on cAdvisor and moving Kubernetes closer to a single source for these metrics.</li>
</ul>

<p>Starting with v1.38, the release cycle will also have more time between Enhancements Freeze and Code Freeze, giving contributors more time to get their work reviewed and merged and helping reduce the need for Code Freeze exceptions.</p>

<h2 id="featured-prs">Featured PRs</h2>
<h3 id="141556-dra-fix-extended-resources-when-dranodeallocatableresources-is-enabled"><a href="https://github.com/kubernetes/kubernetes/pull/141556">141556: DRA: fix extended resources when DRANodeAllocatableResources is enabled</a></h3>

<p><a href="https://github.com/harche">harche</a> fixed extended resource accounting when the <code class="language-plaintext highlighter-rouge">⁠DRANodeAllocatableResources</code> feature is enabled. The scheduler and kubelet rely on node allocatable information to determine whether a Pod’s Dynamic Resource Allocation claims can be satisfied. This PR corrects the handling of extended resources in that path, preventing inaccurate node capacity information from affecting scheduling decisions for workloads that use DRA.</p>

<h3 id="141527-admissionregistration-mark-paramrefparameternotfoundaction-as-required-in-openapi-schema"><a href="https://github.com/kubernetes/kubernetes/pull/141527">141527: admissionregistration: mark ParamRef.parameterNotFoundAction as required in OpenAPI schema</a></h3>

<p><a href="https://github.com/grosser">grosser</a> fixed the OpenAPI schema for <code class="language-plaintext highlighter-rouge">ParamRef.parameterNotFoundAction</code> in admission registration APIs. Although the API requires callers to specify how admission policy evaluation should behave when a referenced parameter object is absent, the published schema did not mark the field as required. This PR aligns the OpenAPI contract with the API’s validation requirements, improving generated clients, schema validation, and tooling that consumes Kubernetes API definitions.</p>

<h2 id="kep-of-the-week">KEP of the Week</h2>

<h3 id="kep-5055-sig-scheduling-dra-device-taints-and-tolerations"><a href="https://github.com/kubernetes/enhancements/blob/master/keps/sig-scheduling/5055-dra-device-taints-and-tolerations/README.md">KEP-5055: SIG Scheduling: DRA Device Taints and Tolerations</a></h3>

<p>This enhancement, authored by @pohly and @everpeace, extends Dynamic Resource Allocation (DRA) with a tainting mechanism for individual hardware devices, modeled on how Kubernetes already taints Nodes. DRA drivers or admins can mark a specific device, such as a degraded GPU, as tainted, and workloads declare tolerations on their DeviceRequests to decide whether they’re still willing to use it. A new <code class="language-plaintext highlighter-rouge">DeviceTaintRule</code> API lets admins patch taints onto matching devices without needing driver support, and a dedicated controller evicts non-tolerating pods much like the existing node taint-eviction-controller.</p>

<p>KEP 5055 enhancement is stable in v1.37.</p>

<h2 id="subprojects-and-dependency-updates">Subprojects and Dependency Updates</h2>

<ul>
  <li><a href="https://github.com/prometheus/prometheus/releases/tag/v3.14.0">prometheus v3.14.0</a>: enable duration expressions by default, promote first_over_time to stable, add Oracle Cloud Infrastructure service discovery, fix silent data loss with stale_series_compaction_threshold</li>
  <li><a href="https://github.com/coredns/coredns/releases/tag/v1.14.7">coredns v1.14.7</a>: fix CVE-2026-56865, CVE-2026-56864, CVE-2026-33818, add ACME DNS-01 certificate management, add topology-aware headless services support</li>
</ul>

<h2 id="shoutouts">Shoutouts</h2>

<ul>
  <li>No shoutouts this week. Want to thank someone for special efforts to improve Kubernetes? Tag them in the #shoutouts channel.</li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[Developer News]]></summary></entry><entry><title type="html">Week Ending August 16, 2026</title><link href="https://lwkd.info/2026/20260820" rel="alternate" type="text/html" title="Week Ending August 16, 2026" /><published>2026-08-20T22:00:00+00:00</published><updated>2026-08-20T22:00:00+00:00</updated><id>https://lwkd.info/2026/2026-08-16-update</id><content type="html" xml:base="https://lwkd.info/2026/20260820"><![CDATA[<h2 id="developer-news">Developer News</h2>

<p>containerd is <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/O420PQSbTn8">deprecating the implicit restore-via-<code class="language-plaintext highlighter-rouge">CreateContainer</code> codepath</a> introduced by KEP-2008 (Forensic Container Checkpointing) after multiple CVEs; containerd 2.3.4 and 2.2.7 retain it as an experimental opt-in behind <code class="language-plaintext highlighter-rouge">enable_experimental_restore_via_create</code>, and containerd 2.4 removes it in favor of the explicit <code class="language-plaintext highlighter-rouge">RestorePod</code> API from KEP-5823.</p>

<p>SIG ContribEx has <a href="https://github.com/kubernetes/community/pull/9051">added AI notetaker guidance to Kubernetes Zoom meeting guidelines</a>. AI notetaker bots (such as Granola, Otter.ai, Fireflies.ai, Fathom, or Read.ai) are <em>not</em> permitted on Kubernetes Zoom calls. Unauthorized third-party recording poses risks around consent, privacy, and moderation.</p>

<h3 id="election-update">Election Update</h3>

<p>Voting is now open for the <a href="https://elections.k8s.io/">2026 Kubernetes Steering Committee election</a>. Six candidates are running this year, including <a href="https://github.com/kubernetes/community/blob/main/elections/steering/2026/candidate-stmcginnis.md">Sean McGinnis</a> (stmcginnis), <a href="https://github.com/kubernetes/community/blob/main/elections/steering/2026/candidate-elmiko.md">Michael McCune</a> (elmiko), <a href="https://github.com/kubernetes/community/blob/main/elections/steering/2026/candidate-priyankasaggu11929.md">Priyanka Saggu</a> (priyankasaggu11929), <a href="https://github.com/kubernetes/community/blob/main/elections/steering/2026/candidate-janetkuo.md">Janet Kuo</a> (janetkuo), <a href="https://github.com/kubernetes/community/blob/main/elections/steering/2026/candidate-kaslin.md">Kaslin Fields</a> (kaslin), and <a href="https://github.com/kubernetes/community/blob/main/elections/steering/2026/candidate-jackfrancis.md">Jack Francis</a> (jackfrancis).</p>

<p>Voting will remain open through October 1, with exception requests due by September 29. If you are marked as not eligible despite your contributions, please <a href="https://elections.k8s.io/app/elections/steering---2026/exception">request an exception</a>.</p>

<h2 id="release-schedule">Release Schedule</h2>

<p><strong>Next Deadline: v1.37.0 release, 26th August</strong></p>

<p>The v1.37 release cycle enters its final week. <a href="https://groups.google.com/g/kubernetes-announce/c/DfYb5z_aA1Q">Kubernetes v1.37.0-rc.1</a> has been released, built with Go 1.26.5, following <a href="https://groups.google.com/g/kubernetes-announce/c/z_O1FKgwqGA">v1.37.0-rc.0</a> on August 6. The final v1.37.0 release, and release blog publication are all targeted for August 26.</p>

<p><a href="https://groups.google.com/g/kubernetes-announce/c/4SubRAsWDyA">August Kubernetes patch releases have been delayed</a> to August 19 to allow additional time for cherry-picks affected by recent GitHub disruptions and automation failures.</p>

<p><a href="https://groups.google.com/a/kubernetes.io/g/dev/c/n6dG856Airk/m/NggzRDDkCgAJ">Kubernetes v1.38 Release Team Shadow application</a> is open through August 28, with the v1.38 release cycle expected to begin around August 31.</p>

<h2 id="featured-prs">Featured PRs</h2>

<h3 id="141375-fix-count-init-container-node-allocatable-dra-claim-overhead-only-towards-peak-resource-calculation"><a href="https://github.com/kubernetes/kubernetes/pull/141375">141375: fix: count init container node allocatable DRA claim overhead only towards peak resource calculation</a></h3>

<p><a href="https://github.com/pravk03">pravk03</a> fixed DRA resource accounting for init containers. Resource overhead from DRA claims used by init containers should contribute to a Pod’s peak resource usage while those containers are running, but should not continue reducing the node’s steady-state allocatable capacity after they finish. This PR corrects that distinction, helping prevent nodes from appearing to have less capacity than they actually do and improving scheduling decisions for workloads that use Dynamic Resource Allocation.</p>

<h3 id="141459-kubelet-invalidate-name-keyed-clustertrustbundle-cache-entries"><a href="https://github.com/kubernetes/kubernetes/pull/141459">141459: kubelet: invalidate name-keyed ClusterTrustBundle cache entries</a></h3>

<p><a href="https://github.com/RafPe">RafPe</a> fixed kubelet cache invalidation for name-keyed <code class="language-plaintext highlighter-rouge">ClusterTrustBundle</code> objects. Without invalidating cached entries when a bundle changes, kubelet could continue using stale trust-bundle data instead of observing the latest object contents. This PR ensures that updates to named ClusterTrustBundles invalidate the corresponding cache entries, allowing kubelet consumers to use current trust information.</p>

<h2 id="kep-of-the-week">KEP of the Week</h2>

<h3 id="kep-5729-dra-resourceclaim-support-for-workloads"><a href="https://github.com/kubernetes/enhancements/blob/master/keps/sig-scheduling/5729-resourceclaim-support-for-workloads/README.md">KEP-5729: DRA: ResourceClaim Support for Workloads</a></h3>

<p>This enhancement extends the Workload API and PodGroup API to allow ResourceClaims and ResourceClaimTemplates to be associated with an entire PodGroup, making it easier to share DRA resources across multiple related Pods. A ResourceClaim referenced by a PodGroup is reserved for the whole group rather than each individual Pod, avoiding the current 256-entry limit in <code class="language-plaintext highlighter-rouge">status.reservedFor</code>. Similarly, a ResourceClaimTemplate can automatically generate one ResourceClaim for the PodGroup, eliminating the need to manually create and name shared claims. This is particularly useful for large AI/ML workloads, where closely related Pods need to be placed within the same network or topology boundary for better performance. The enhancement also makes resource sharing more practical for workload APIs such as JobSet and LeaderWorkerSet, allowing Kubernetes to manage shared DRA resources generically through the common PodGroup abstraction.</p>

<p>This enhancement has been proposed to become Beta for Kubernetes v1.37.</p>

<h2 id="version-updates">Version Updates</h2>

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/141363">Kubernetes is now built with Go 1.26.6</a></li>
</ul>

<h2 id="subprojects-and-dependency-updates">Subprojects and Dependency Updates</h2>

<ul>
  <li><a href="https://github.com/kubernetes-sigs/cluster-api/releases/tag/v1.14.0">cluster-api v1.14.0</a>: bump to Golang 1.26, introduce dedicated API Go module, enable safe joining of nodes on older Kubernetes versions with kubeadm, surface upgrade plan and Runtime Extension errors in cluster status; also <a href="https://github.com/kubernetes-sigs/cluster-api/releases/tag/v1.13.5">v1.13.5</a></li>
  <li><a href="https://github.com/containerd/containerd/releases/tag/v2.3.4">containerd v2.3.4</a>: disable checkpoint restore in CreateContainer by default, fix memory leak in OOM watcher, fix EROFS snapshotter dropping lower layers; also <a href="https://github.com/containerd/containerd/releases/tag/v2.2.7">v2.2.7</a></li>
</ul>

<h2 id="shoutouts">Shoutouts</h2>

<ul>
  <li>No shoutouts this week. Want to thank someone for special efforts to improve Kubernetes? Tag them in the #shoutouts channel.</li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[Developer News]]></summary></entry><entry><title type="html">Week Ending August 09, 2026</title><link href="https://lwkd.info/2026/20260813" rel="alternate" type="text/html" title="Week Ending August 09, 2026" /><published>2026-08-13T22:00:00+00:00</published><updated>2026-08-13T22:00:00+00:00</updated><id>https://lwkd.info/2026/2026-08-09-update</id><content type="html" xml:base="https://lwkd.info/2026/20260813"><![CDATA[<h2 id="developer-news">Developer News</h2>

<p>SIG Autoscaling has <a href="https://github.com/kubernetes/community/pull/9079">clarified its subproject donation requirements</a>, formalizing what external projects need to satisfy to be adopted under the SIG.</p>

<p>Dims has <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/BBZ8j0qvGKU">published a post-Code-Freeze CI recovery writeup</a> showing that contributors across SIGs fixed roughly 27 CI jobs through 60 PRs since July 22, with the <code class="language-plaintext highlighter-rouge">sig-release-master-blocking</code> board now green; the <a href="https://gist.github.com/dims/f102915bd1ce82db9ca100d0c7574d8c">full gist</a> lists about 30 open failing-test and flake issues that still need owners.</p>

<p>The <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/xWnkUk_RvNw">KubeCon + CloudNativeCon NA 2026 schedule</a> is now live.</p>

<h2 id="election-updates">Election Updates</h2>

<p>Voting is now open for the <a href="https://elections.k8s.io/">2026 Kubernetes Steering Committee election</a>. Six candidates are running this year, including <a href="https://github.com/kubernetes/community/blob/main/elections/steering/2026/candidate-stmcginnis.md">Sean McGinnis</a> (stmcginnis), <a href="https://github.com/kubernetes/community/blob/main/elections/steering/2026/candidate-elmiko.md">Michael McCune</a> (elmiko), <a href="https://github.com/kubernetes/community/blob/main/elections/steering/2026/candidate-priyankasaggu11929.md">Priyanka Saggu</a> (priyankasaggu11929), <a href="https://github.com/kubernetes/community/blob/main/elections/steering/2026/candidate-janetkuo.md">Janet Kuo</a> (janetkuo), <a href="https://github.com/kubernetes/community/blob/main/elections/steering/2026/candidate-kaslin.md">Kaslin Fields</a> (kaslin), and <a href="https://github.com/kubernetes/community/blob/main/elections/steering/2026/candidate-jackfrancis.md">Jack Francis</a> (jackfrancis). Voting will remain open until October 1.</p>

<p><strong>All</strong> current Kubernetes org members are <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/dldNnBTJFMc">eligible to vote this year</a> due to GitHub contributions not being accurately tracked during the first four months of 2026. Members of the SRC or CoCC are also eligible. Eligibility can be checked at <a href="https://elections.k8s.io/">elections.k8s.io</a> or in the full voter list in the <a href="https://github.com/kubernetes/community/blob/master/elections/steering/2026/voters.yaml">election repository</a>.  If you believe you should be eligible, but are not, please file an <a href="https://github.com/kubernetes/community/tree/main/elections/steering/2026#voter-exception">exception</a>.</p>

<h2 id="release-schedule">Release Schedule</h2>

<p><strong>Next Deadline: RC1 release, August 19</strong></p>

<p>We are in the final stretch for v1.37, which looks like it’s going out on time.  If you’re working on Release Notes or the blog you have plenty to do, but most contributors just need be ready to respond quickly to any test failures.  This means you can start thinking about v1.38.  Speaking of which, the <a href="https://forms.gle/Z7iwnhn1WqucBtHy6">v1.38 Shadow Application</a> is already open, and due August 28th.</p>

<h2 id="featured-prs">Featured PRs</h2>

<h3 id="141255-split-pod-update-with-a-changed-uid-into-delete-and-add"><a href="https://github.com/kubernetes/kubernetes/pull/141255">141255: Split Pod update with a changed UID into delete and add</a></h3>

<p><a href="https://github.com/vshkrabkov">vshkrabkov</a> fixed Pod event handling for updates where the Pod UID changes. Because a UID identifies a specific Pod instance, an update with a new UID represents a different Pod rather than a normal modification. Treating it as an ordinary update could leave consumers with stale state associated with the previous Pod. This PR represents the transition as a delete event for the old Pod followed by an add event for the new Pod, allowing API machinery and scheduling consumers to process the identity change correctly.</p>

<h3 id="141253-populate-unschedulableplugins-for-placementfeasible-rejection"><a href="https://github.com/kubernetes/kubernetes/pull/141253">141253: Populate UnschedulablePlugins for PlacementFeasible rejection</a></h3>

<p><a href="https://github.com/macsko">macsko</a> fixed scheduler state tracking for Pods rejected during the <code class="language-plaintext highlighter-rouge">PlacementFeasible</code> stage. The scheduler uses <code class="language-plaintext highlighter-rouge">UnschedulablePlugins</code> to identify which plugins made a Pod unschedulable and which cluster events should cause it to be retried. This PR ensures that the relevant plugin information is recorded for <code class="language-plaintext highlighter-rouge">PlacementFeasible</code> rejections, improving requeue behavior for workload-aware scheduling and Dynamic Resource Allocation scenarios where placement can depend on device, resource, or topology changes.</p>

<h2 id="kep-of-the-week">KEP of the Week</h2>

<h3 id="kep-4680-add-resource-health-status-to-the-pod-status-for-device-plugin-and-dra"><a href="https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/4680-add-resource-health-to-pod-status/README.md">KEP-4680: Add Resource Health Status to the Pod Status for Device Plugin and DRA</a></h3>

<p>This KEP proposes exposing device health information (such as GPU failures) in Pod Status so Kubernetes can indicate when a Pod is using a device that is unhealthy or has failed. Currently, device failures are difficult to diagnose because Pods often enter CrashLoopBackOff without any indication that the assigned device is the root cause, and Kubernetes may keep restarting the Pod on the same faulty device. By surfacing unhealthy devices directly in Pod Status, the proposal provides a generic mechanism for easier troubleshooting and better handling of temporary or permanent device failures, while keeping the initial scope small and extensible for future enhancements.</p>

<h2 id="other-merges">Other Merges</h2>

<ul>
  <li>The feature gate <a href="https://github.com/kubernetes/kubernetes/pull/141209"><code class="language-plaintext highlighter-rouge">PodLevelResourceManagers</code></a> is disabled by default.</li>
</ul>

<h2 id="version-updates">Version Updates</h2>

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/140920">Kubernetes 1.35 is now built with Go 1.26</a></li>
</ul>

<h2 id="subprojects-and-dependency-updates">Subprojects and Dependency Updates</h2>

<ul>
  <li><a href="https://github.com/containerd/containerd/releases/tag/api%2Fv1.12.0-beta.0">containerd API v1.12.0-beta.0</a>: include media type in content create event, add parent path to runc checkpoint options, fix sandbox task API endpoints for non-runc runtimes</li>
  <li><a href="https://github.com/cri-o/cri-o/releases/tag/v1.36.3">cri-o v1.36.3</a>: fix CVE-2026-15809 (bypass of /etc/passwd injection fix via newline in HOME env var), add namespace/pod/container labels to CRI metrics, restore pre-1.34 handling of non-UTF-8 envvar values</li>
  <li><a href="https://github.com/kubernetes-sigs/vsphere-csi-driver/releases/tag/v3.7.3">vsphere-csi-driver v3.7.3</a>: upgrade Go to 1.26.5 to fix CVE-2026-42504</li>
</ul>

<h2 id="shoutouts">Shoutouts</h2>

<ul>
  <li>No shoutouts this week. Want to thank someone for special efforts to improve Kubernetes? Tag them in the #shoutouts channel.</li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[Developer News]]></summary></entry></feed>