<?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-05-14T19:42:09+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 May 10, 2026</title><link href="https://lwkd.info/2026/20260514" rel="alternate" type="text/html" title="Week Ending May 10, 2026" /><published>2026-05-14T15:00:00+00:00</published><updated>2026-05-14T15:00:00+00:00</updated><id>https://lwkd.info/2026/2026-05-10-update</id><content type="html" xml:base="https://lwkd.info/2026/20260514"><![CDATA[<h2 id="developer-news">Developer News</h2>

<p><a href="https://groups.google.com/a/kubernetes.io/g/dev/c/NQCmTWNnXX4">SIG Autoscaling</a> has nominated Jack Francis as a new SIG Chair as Guy Templeton steps down from the role after years of leadership and contributions to the SIG. Thank you, Guy Templeton, for everything you’ve done for SIG Autoscaling. The proposal also names Omer Aplatony as Tech Lead and adds dedicated Node Autoscaling and Workload Autoscaling Tech Lead roles.</p>

<p>Next Tuesday is the monthly <a href="https://www.kubernetes.dev/docs/orientation/">New Contributor Orientation</a>. As part of a new SIG-focused format for NCOs, next week’s AMER session will be focused on SIG Release, hosted by @Kat Cosgrove. Join the <a href="https://www.kubernetes.dev/resources/calendar/">AMER session</a> to learn how SIG Release helps deliver Kubernetes releases and how you can get involved.</p>

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

<p><strong>Next Deadline: 1.37 Release Team Shadow Program, May 15th</strong></p>

<p>Applications for the Kubernetes v1.37 <a href="https://forms.gle/6zQLR5mcd2WKixam7">Release Team shadow program</a> closes on <strong>May 15</strong>, with selected applicants announced on May 22. If you want to learn how Kubernetes release team work and contribute to the release process, this is a great opportunity to get involved. Learn more in the <a href="https://git.k8s.io/sig-release/release-team/README.md">Release Team Overview</a>, <a href="https://git.k8s.io/sig-release/release-team/shadows.md">Shadows Guide</a>, <a href="https://git.k8s.io/sig-release/release-team/role-handbooks">Role Handbooks</a>, and <a href="https://git.k8s.io/sig-release/release-team/release-team-selection.md">Selection Criteria</a>.</p>

<p>Kubernetes Patches <a href="https://git.k8s.io/kubernetes/CHANGELOG/CHANGELOG-1.33.md">v1.33.12</a>, <a href="https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.34.md">v1.34.8</a>, <a href="https://git.k8s.io/kubernetes/CHANGELOG/CHANGELOG-1.35.md">v1.35.5</a>, and <a href="https://git.k8s.io/kubernetes/CHANGELOG/CHANGELOG-1.36.md">v1.36.1</a> have been released.</p>

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

<h3 id="138872-feat-add-declarative-validation-test-coverage-guardrail"><a href="https://github.com/kubernetes/kubernetes/pull/138872">138872: feat: Add declarative-validation test coverage guardrail</a></h3>

<p><a href="https://github.com/yongruilin">yongruilin</a> has landed an in-process <strong>coverage gate for declarative-validation rules</strong> that fails CI when a <code class="language-plaintext highlighter-rouge">+k8s:</code> DV tag has no test exercising it. The PR spans SIG API Machinery, SIG Scheduling, and SIG Testing, and is targeted at the v1.37 milestone. Declarative validation moves API field validation rules out of hand-written Go code and into struct-tag annotations on the API types, generated into validators by <code class="language-plaintext highlighter-rouge">validation-gen</code>. The benefit is enormous; co-located rules, version-consistent validation, and a clear audit surface but until now there was no way to prove that every declared rule was actually being exercised by tests. A contributor could add a <code class="language-plaintext highlighter-rouge">+k8s:maxBytes=64</code> tag to a field, regenerate validators, and merge a green PR even if no test ever fed that field a value over 64 bytes. This guardrail closes that gap.</p>

<h3 id="138801-conditional-authz-05-rename-all-usages-of-the-authorizerauthorizer-interface-to-authorizerunconditionalauthorizer"><a href="https://github.com/kubernetes/kubernetes/pull/138801">138801: Conditional Authz [0/5]: Rename all usages of the <code class="language-plaintext highlighter-rouge">authorizer.Authorizer</code> interface to <code class="language-plaintext highlighter-rouge">authorizer.UnconditionalAuthorizer</code></a></h3>

<p><a href="https://github.com/luxas">luxas</a> has landed the kickoff of a five-part series introducing <strong>conditional authorization</strong> to Kubernetes by renaming every existing usage of <code class="language-plaintext highlighter-rouge">authorizer.Authorizer</code> to <code class="language-plaintext highlighter-rouge">authorizer.UnconditionalAuthorizer</code>, and renaming <code class="language-plaintext highlighter-rouge">initializer.WantsAuthorizer</code> to <code class="language-plaintext highlighter-rouge">initializer.WantsUnconditionalAuthorizer</code>. The PR spans SIG Auth, SIG API Machinery, SIG Node, SIG Scheduling, and WG Device Management, and is targeted at the v1.37 milestone. Today, the <code class="language-plaintext highlighter-rouge">authorizer.Authorizer</code> interface is the only authorization contract in tree, and any function that takes one can issue arbitrary authorization decisions even if it only ever needs to ask simple “is this principal allowed to do X” questions. The refactor splits this into two contracts: a small <code class="language-plaintext highlighter-rouge">UnconditionalAuthorizer</code> that callers ask for when they only need traditional unconditional decisions, and a fuller <code class="language-plaintext highlighter-rouge">Authorizer</code> interface (extended in <a href="https://github.com/kubernetes/kubernetes/pull/137204">#137204</a>) that callers must explicitly opt into when they need to evaluate conditions on the request. This narrows the API surface receivers can use and makes it visible in the type system which call sites can take conditional logic.</p>

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

<p><a href="https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/127-user-namespaces/README.md">KEP-127: Support User Namespaces</a></p>

<p>The Kubernetes User Namespaces KEP introduces support for Linux user namespaces to improve pod security and isolation by allowing processes inside containers to run with different user and group IDs than on the host system. This means a process can run as <code class="language-plaintext highlighter-rouge">root</code> inside the container while remaining an unprivileged user on the host, significantly reducing the impact of container breakout vulnerabilities. The feature strengthens defense-in-depth, improves multi-tenant security, and helps mitigate several known and future container escape vulnerabilities by limiting host-level privileges even if a workload escapes the container boundary.</p>

<p>User Namespaces became GA in 1.36.</p>

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

<ul>
  <li>Use stable curl download for <a href="https://github.com/kubernetes/kubernetes/pull/138879">windows busybox testing image</a></li>
  <li>Switch <a href="https://github.com/kubernetes/kubernetes/pull/138874"><code class="language-plaintext highlighter-rouge">StorageVersionMigration</code></a> to use merge patch over SSA</li>
  <li>Add retrying for <a href="https://github.com/kubernetes/kubernetes/pull/138855">Bind API calls</a></li>
  <li>kubeadm: kubeadm join now returns a clear error message when the <a href="https://github.com/kubernetes/kubernetes/pull/138853">TLS bootstrap kubeconfig</a> has a current-context that does not appear in the contexts list, instead of panicking with a nil pointer dereference.</li>
  <li>kubeadm: when fetching cluster-info over <a href="https://github.com/kubernetes/kubernetes/pull/138852">HTTPS during discovery</a>, the HTTP response status code is now checked, so a non-200 response produces a clear error instead of a confusing kubeconfig parse failure.</li>
  <li>Functions and structs that take in <a href="https://github.com/kubernetes/kubernetes/pull/138801"><code class="language-plaintext highlighter-rouge">authorizer.Authorizer</code></a> might now choose to accept only a smaller interface, <code class="language-plaintext highlighter-rouge">authorizer.UnconditionalAuthorizer</code>, in case only the receiver only needs to perform unconditional authorization requests and wants to signal this in the code for clarity. Any authorizer implementation must still implement the full <code class="language-plaintext highlighter-rouge">authorizer.Authorizer interface</code>.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138757">Workload-aware preemption</a> now preempts victims so that as many as possible of the preemptor pods can be scheduled.</li>
  <li>Fix the inconsistency between opportunistic batching and PodGroups that made the batching hints always infeasible during <a href="https://github.com/kubernetes/kubernetes/pull/138754/changes">PodGroup scheduling cycle</a>.</li>
  <li>Fix nil pointer dereference in <a href="https://github.com/kubernetes/kubernetes/pull/138727">Windows memory eviction threshold notifier</a> when <code class="language-plaintext highlighter-rouge">GetPerformanceInfo()</code> fails.</li>
  <li>Added an alpha feature gate, <code class="language-plaintext highlighter-rouge">[ConsistentListFromCacheSkipTimeoutFallback</code>](https://github.com/kubernetes/kubernetes/pull/138701/changes) .When enabled, kube-apiserver returns HTTP 429 for consistent LIST requests that cannot be served from watch cache within the timeout window, instead of falling back to storage.</li>
  <li>Ensure <a href="https://github.com/kubernetes/kubernetes/pull/138698/changes">stale cache does not impact the marking of nodes as unhealthy</a>by checking with a live get.</li>
  <li>kubectl now sets its path in the <a href="https://github.com/kubernetes/kubernetes/pull/138694"><code class="language-plaintext highlighter-rouge">KUBECTL_PATH</code> environment variable</a> when executing a plugin.</li>
  <li>kubeadm: skip <a href="https://github.com/kubernetes/kubernetes/pull/138692">LocalAPIEndpoint defaulting on ‘kubeadm join’</a> for worker nodes.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138655">kubelet no longer generates an event once per second</a> for every image volume in a pod.</li>
  <li>client-go will <a href="https://github.com/kubernetes/kubernetes/pull/138271">request <code class="language-plaintext highlighter-rouge">v2</code> for aggregated discovery and not fall back to <code class="language-plaintext highlighter-rouge">v2beta1</code></a></li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138294">HPA controller</a> now reconciles newly created and spec-changed HPAs immediately instead of waiting for the full resync period (default 15s).</li>
  <li>kubelet: <a href="https://github.com/kubernetes/kubernetes/pull/138462">enforce ephemeral-storage limits</a> on restartable init containers.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138482">Metrics are now decremented for pods removed from the active or backoff queues</a> before scheduling.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138590">kubelet no longer fails to start on ZFS</a> due to a missing cadvisor plugin.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137543"><code class="language-plaintext highlighter-rouge">kubectl drain --disable-eviction --dry-run=server</code></a> no longer hangs indefinitely.</li>
  <li>StatefulSet with <a href="https://github.com/kubernetes/kubernetes/pull/136833"><code class="language-plaintext highlighter-rouge">OnDelete</code> update strategy now correctly updates <code class="language-plaintext highlighter-rouge">Status.CurrentRevision</code></a> after all pods are recreated with the new revision.</li>
</ul>

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

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136189">Volume Metrics to beta</a></li>
</ul>

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

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138864">GO to 1.26.3</a></li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138786">grpc to v1.81.0, grpc-gateway/v2 to v2.29.0, containerd/api to v1.11.0, ttrpc to v1.2.8, genproto googleapis updated</a></li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138786">golang.org/x/mod to v0.35.0, oauth2 to v0.36.0, time to v0.15.0, tools to v0.44.0</a></li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138747">etcd sdk to  v3.6.11</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.13.2">cluster-api v1.13.2</a>: fixes KCP in-place update with InfraMachine immutability webhooks, cleans up etcd members after machine remediation, bumps corefile-migration to v1.0.32; also <a href="https://github.com/kubernetes-sigs/cluster-api/releases/tag/v1.12.8">v1.12.8</a>, <a href="https://github.com/kubernetes-sigs/cluster-api/releases/tag/v1.11.11">v1.11.11</a></li>
  <li><a href="https://github.com/kubernetes/cloud-provider-aws/releases/tag/v1.36.0">cloud-provider-aws v1.36.0</a>: fixes ELB target deregistration ordering, adds nil check for instance state, adds AWS API metrics middleware for status codes and error tracking, adds explicit HTTP request timeouts to all AWS SDK clients, fixes security group leak on Service update; also <a href="https://github.com/kubernetes/cloud-provider-aws/releases/tag/v1.35.2">v1.35.2</a>, <a href="https://github.com/kubernetes/cloud-provider-aws/releases/tag/v1.34.3">v1.34.3</a>, <a href="https://github.com/kubernetes/cloud-provider-aws/releases/tag/v1.33.4">v1.33.4</a>, <a href="https://github.com/kubernetes/cloud-provider-aws/releases/tag/v1.32.8">v1.32.8</a></li>
  <li><a href="https://github.com/kubernetes/cloud-provider-openstack/releases/tag/openstack-cloud-controller-manager-2.36.0">openstack-cloud-controller-manager v2.36.0</a>: new Helm chart release; also <a href="https://github.com/kubernetes/cloud-provider-openstack/releases/tag/openstack-cinder-csi-2.36.0">openstack-cinder-csi v2.36.0</a>, <a href="https://github.com/kubernetes/cloud-provider-openstack/releases/tag/openstack-manila-csi-2.36.0">openstack-manila-csi v2.36.0</a></li>
</ul>

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

<ul>
  <li>Seokho Son: Shoutout to @xirehat, @Moh0ps, @mamrezb, and @Behdin Talebi for initiating and driving the Persian (Farsi) localization of k8s.io, the first Right-To-Left language supported on the site. Thanks also to @LMKTFY for his support, and to SIG Docs leads @Natali, @Rey Lejano, and @Divya for their official backing. The Farsi localization site is live at kubernetes.io/fa, and there is still plenty of room to contribute — join #kubernetes-docs-fa to get involved.</li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[Developer News]]></summary></entry><entry><title type="html">Week Ending May 3, 2026</title><link href="https://lwkd.info/2026/20260507" rel="alternate" type="text/html" title="Week Ending May 3, 2026" /><published>2026-05-07T17:27:07+00:00</published><updated>2026-05-07T17:27:07+00:00</updated><id>https://lwkd.info/2026/2026-05-03-update</id><content type="html" xml:base="https://lwkd.info/2026/20260507"><![CDATA[<h2 id="developer-news">Developer News</h2>

<p>The <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/N5vStXDDqPIx">Agent Sandbox subproject</a> has published a Kubernetes blog post, Running Agents on Kubernetes with Agent Sandbox, and progressed to v0.4.3 since v0.1.1. Updates include default network isolation, persistent storage support, Python SDK improvements, a new Go client, and controller stability enhancements.</p>

<p>The Kubernetes v1.37 Release Team <a href="https://docs.google.com/forms/d/e/1FAIpQLSc8P_QueppZyw8pbt8h2D7-PcjCFFfYVWTtP3-aVyhB8A8b1Q/viewform">shadow application</a>  is open until May 15, 2026, with results announced on May 22. The release cycle is expected to run from May 18 to August 26. Learn more in the <a href="https://git.k8s.io/sig-release/release-team/README.md">Release Team Overview</a>, <a href="https://git.k8s.io/sig-release/release-team/shadows.md">Shadows Guide</a>, <a href="https://git.k8s.io/sig-release/release-team/role-handbooks">Role Handbooks</a>, and <a href="https://git.k8s.io/sig-release/release-team/release-team-selection.md">Selection Criteria</a>. Updates will be shared in the <a href="https://kubernetes.slack.com/archives/C2C40FMNF">#sig-release</a> Slack channel and kubernetes/sig-release repository.</p>

<p><a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/cfp/">KubeCon North America CFP</a> closes on May 31. Submit your talks before the deadline.</p>

<p>KubeCon North America <a href="https://sessionize.com/project-benefits-kubecon-na-2026/">Maintainer Track CFP</a> is also open. Submit your sessions by July 12.</p>

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

<p><strong>Next Deadline:  Release Cycle Starts, soon</strong></p>

<p>Cherry-picks for the next patch releases are due this Friday, May 8.</p>

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

<h3 id="138629-featvalidation-gen-add-eachval--maxbytes-validation-for-resource-string-values"><a href="https://github.com/kubernetes/kubernetes/pull/138629">138629: feat(validation-gen): add eachVal + maxBytes validation for resource string values</a></h3>

<p><a href="https://github.com/aaron-prindle">aaron-prindle</a> has migrated handwritten per-item byte-length validation for <code class="language-plaintext highlighter-rouge">ResourceSlice.spec.devices[*].attributes[*].strings[*]</code> to declarative validation as part of <a href="https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/5073-declarative-validation-with-validation-gen">KEP-5073: Declarative Validation with validation-gen</a>. The PR was reviewed and approved by <a href="https://github.com/thockin">thockin</a> and contributors from SIG API Machinery and WG Device Management, and is the first use of the <code class="language-plaintext highlighter-rouge">+k8s:eachVal</code> tag in the kubernetes/kubernetes API surface.</p>

<p>Declarative validation moves API field validation from hand-written Go code into machine-generated code driven by struct-tag annotations on the API types themselves. The benefit for contributors is that validation rules become co-located with the field they validate, far easier to audit, and consistent across all API versions. The benefit for users is reduced surface area for subtle validation drift between API versions and improved API server performance over time.</p>

<p>This PR adds the <code class="language-plaintext highlighter-rouge">+k8s:alpha(since: "1.37")=+k8s:eachVal=+k8s:maxBytes=64</code> tag chain to the <code class="language-plaintext highlighter-rouge">v1</code>, <code class="language-plaintext highlighter-rouge">v1beta1</code>, and <code class="language-plaintext highlighter-rouge">v1beta2</code> resource API types, regenerates the declarative validation code, and adds equivalence coverage tests verifying the byte-count semantics on both create and update boundary cases. Notably, the PR uses <code class="language-plaintext highlighter-rouge">+k8s:maxBytes</code> rather than <code class="language-plaintext highlighter-rouge">+k8s:maxLength</code> because the existing handwritten validation enforces a byte limit via Go’s <code class="language-plaintext highlighter-rouge">len(string)</code> and <code class="language-plaintext highlighter-rouge">field.TooLong</code>, so the tests use the two-byte UTF-8 character <code class="language-plaintext highlighter-rouge">é</code> to confirm byte-count behaviour. The handwritten validation remains authoritative; this migration begins the soak period required to graduate the <code class="language-plaintext highlighter-rouge">+k8s:eachVal</code> tag to <code class="language-plaintext highlighter-rouge">StabilityLevelBeta</code>.</p>

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

<p><a href="https://github.com/kubernetes/enhancements/blob/master/keps/sig-scheduling/5710-workload-aware-preemption/README.md">KEP-5710: Workload-aware preemption</a></p>

<p>This KEP proposes enhancing the Kubernetes scheduler with workload-aware preemption, shifting from a pod-centric to a workload-centric approach. Building on KEP-4671’s Workload and PodGroup APIs, it introduces concepts like pod group priority and defining preemption units at the workload level, starting with a simple implementation based on existing pod preemption. The motivation stems from tightly coupled workloads such as AI training and multihost inference that depend on continuous coordination across multiple pods, where disruption of even a single pod halts overall progress. Current preemption mechanisms fail to account for this, especially in resource constrained environments where prioritization and efficient hardware utilization are critical. By standardizing workload-aware preemption within core Kubernetes, this proposal aims to better support such workloads, improve resource utilization, and enable deeper integration with other features like autoscaling and disruption management.</p>

<p>This KEP is currently in Alpha stage for Kubernetes v1.36.</p>

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

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138571">kube-proxy does not perform full-sync operations</a> when operating in large cluster mode (more than 1000 endpoints)</li>
  <li>Fixed <a href="https://github.com/kubernetes/kubernetes/pull/138587">kubelet failure starting on ZFS</a> due to missing cadvisor plugin</li>
  <li>kubeadm: during <a href="https://github.com/kubernetes/kubernetes/pull/138449"><code class="language-plaintext highlighter-rouge">kubeadm init</code></a>, if the default <code class="language-plaintext highlighter-rouge">admin.conf</code> and <code class="language-plaintext highlighter-rouge">super-admin.conf</code> paths are used, load the files but construct in-memory kubeconfigs that point to the <code class="language-plaintext highlighter-rouge">InitConfiguration.localAPIEndpoint</code> instead of the <code class="language-plaintext highlighter-rouge">ClusterConfiguration.controlPlaneEndpoint</code>, resolving issues with delayed load balancers provisioned only after the first kube-apiserver instance starts</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138205">Introduce Deferred Gen concept</a> to the Validation-gen framework</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136709">Improved CEL error messages in Dynamic Resource Allocation</a> to provide guidance when accessing non-existent device attributes, with links to documentation on handling optional fields using <code class="language-plaintext highlighter-rouge">orValue()</code> and <code class="language-plaintext highlighter-rouge">has()</code></li>
</ul>

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

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138703">Several declarative validation tags to beta and GA</a></li>
</ul>

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

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138613">cri-tools to v1.36.0</a></li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138536">CoreDNS to v1.14.3</a></li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138393">etcd SDK to v3.6.10</a></li>
</ul>

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

<ul>
  <li>etcd released <a href="https://etcd.io/blog/2026/may-patch-release/">updates 3.6.11, 3.5.30, and 3.4.44</a>, including a security fix for etcd auth, and allowing adding members with one member down</li>
</ul>

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

<ul>
  <li>Sayan Chowdhury: As I complete the final off-boarding steps for the v1.36 release, I would like to thank the whole team that was part of this journey with me to handle the Docs for the v1.36 release – I could not have asked for a more knowledgeable and brilliant team. We handled close to 70 KEPs this cycle and it was no easy feat. The team relentlessly made sure that we closed each deadline without any trouble and kept the release timeline on track – from making sure the dev-1.36 branch is synced, to the utmost care and eye for detail in the release notes PR creation and review. The team also made sure that everyone works collaboratively and no one ever falls behind and helping each other during followups and reminders phases.
I’m absolutely happy to have been part of this team and to work among such amazing team members – a big hurrah to the v1.36 release, and thank you again @anshuman @Émile Savard @kernel-kun @Saurabh.</li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[Developer News]]></summary></entry><entry><title type="html">Week Ending April 26, 2026</title><link href="https://lwkd.info/2026/20260430" rel="alternate" type="text/html" title="Week Ending April 26, 2026" /><published>2026-04-30T18:00:00+00:00</published><updated>2026-04-30T18:00:00+00:00</updated><id>https://lwkd.info/2026/2026-04-26-update</id><content type="html" xml:base="https://lwkd.info/2026/20260430"><![CDATA[<h2 id="developer-news">Developer News</h2>

<p>The AI Conformance subproject has <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/bOUBzX4O7HA">moved to the SIG Architecture mailing list</a>; contributors should join <a href="https://groups.google.com/a/kubernetes.io/g/sig-architecture">sig-architecture@kubernetes.io</a> for future AI Conformance meeting invites and announcements.</p>

<p>There is an <a href="https://groups.google.com/a/kubernetes.io/g/steering/c/lyKZlNtt93U">active discussion on the AI usage policy’s interaction with GitHub Copilot and CLA mechanics</a>; contributors using Copilot-generated commits should review the thread before submitting PRs.</p>

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

<p>Kubernetes <a href="https://kubernetes.io/blog/2026/04/22/kubernetes-v1-36-release/">v1.36</a>: ハル (Haru) has been released last week along with Kubernetes <a href="https://git.k8s.io/kubernetes/CHANGELOG/CHANGELOG-1.36.md">v1.33.11</a>, <a href="https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.34.md">v1.34.7</a>, and <a href="https://git.k8s.io/kubernetes/CHANGELOG/CHANGELOG-1.35.md">v1.35.4</a> patches.</p>

<p>Kubernetes <a href="https://kubernetes.io/releases/patch-releases/#1-33">1.33</a> entered maintenance mode on Apr 28, 2026.</p>

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

<p><a href="https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/4781-kublet-restart-pod-status/README.md">KEP-4781: Restarting kubelet does not change pod status</a></p>

<p>This KEP proposes improving how kubelet handles Pod readiness during restarts by preserving the existing Started and Ready states instead of resetting them to False. Currently, when kubelet restarts, it loses prior probe results and marks all pods as not ready, even if they were functioning correctly. This can cause unnecessary service disruptions, incorrect health signals, and trigger avoidable alerts or load balancing changes. The goal is to ensure pod status more accurately reflects real runtime conditions, improving reliability and availability during kubelet restarts.</p>

<p>KEP-4781 is currently in the Alpha stage, with the feature implemented behind the <code class="language-plaintext highlighter-rouge">ChangeContainerStatusOnKubeletRestart</code> feature gate. It is not yet scheduled for an active release and is expected to progress in a future release cycle once further validation and iteration are completed.</p>

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

<ul>
  <li>Fixed <a href="https://github.com/kubernetes/kubernetes/pull/138587">kubelet failure starting on ZFS</a> due to missing cadvisor plugin.</li>
  <li>Fix <a href="https://github.com/kubernetes/kubernetes/pull/138550">regression in kubectl resource printing</a> on bigger data sets (100+ rows).</li>
  <li>Fixed a bug where <a href="https://github.com/kubernetes/kubernetes/pull/138408">Pod <code class="language-plaintext highlighter-rouge">.status.resourceClaimStatuses</code> could flap</a> between partial lists of claims when multiple claims were used in the pod.</li>
  <li>kubeadm: <a href="https://github.com/kubernetes/kubernetes/pull/138403">etcd cluster status checks now use a quorum approach</a> instead of requiring all members to be healthy, so the check won’t fail if there are sufficient healthy voting members.</li>
  <li>kubeadm: <a href="https://github.com/kubernetes/kubernetes/pull/138390">fix MemberPromote to skip the etcd promote API call</a> when the member is already a voting member, avoiding unnecessary retries and timeout.</li>
  <li>kubeadm: <a href="https://github.com/kubernetes/kubernetes/pull/138250">preflight port checks now bind to the configured component address</a> (via <code class="language-plaintext highlighter-rouge">localAPIEndpoint.address</code> or <code class="language-plaintext highlighter-rouge">--bind-address</code> extraArgs) instead of all interfaces, for kube-apiserver, kube-scheduler, kube-controller-manager, and etcd.</li>
  <li>HorizontalPodAutoscaler resources now <a href="https://github.com/kubernetes/kubernetes/pull/138228">generate <code class="language-plaintext highlighter-rouge">metadata.generation</code> and <code class="language-plaintext highlighter-rouge">status.observedGeneration</code> fields</a>.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138214">Improved error reporting when invoking <code class="language-plaintext highlighter-rouge">kubectl exec</code></a>.</li>
  <li>kube-apiserver now <a href="https://github.com/kubernetes/kubernetes/pull/138102">validates the <code class="language-plaintext highlighter-rouge">--advertise-address</code> IP</a> when using <code class="language-plaintext highlighter-rouge">--endpoint-reconciler-type</code> <code class="language-plaintext highlighter-rouge">master-count</code> or <code class="language-plaintext highlighter-rouge">lease</code>, ensuring the IP can be persisted to an <code class="language-plaintext highlighter-rouge">Endpoints</code> API object.</li>
  <li>Fixed <a href="https://github.com/kubernetes/kubernetes/pull/138098">duplicated mount arguments in log string output</a> from <code class="language-plaintext highlighter-rouge">MakeMountArgsSensitiveWithMountFlags</code>.</li>
  <li>kubeadm: added the <a href="https://github.com/kubernetes/kubernetes/pull/138090"><code class="language-plaintext highlighter-rouge">kubeproxydaemonset</code> patch target</a> to allow patching the kube-proxy DaemonSet during <code class="language-plaintext highlighter-rouge">kubeadm init</code> and <code class="language-plaintext highlighter-rouge">kubeadm upgrade</code>, consistent with the existing <code class="language-plaintext highlighter-rouge">corednsdeployment</code> patch target.</li>
  <li>Kubelet now <a href="https://github.com/kubernetes/kubernetes/pull/138088">enforces explicit HTTP method restrictions for logs-related endpoints</a>: read-only server endpoints reject non-GET methods with 405, and NodeLogQuery allows only GET and POST.</li>
  <li>Deprecated <a href="https://github.com/kubernetes/kubernetes/pull/138070"><code class="language-plaintext highlighter-rouge">MultiLock</code>, <code class="language-plaintext highlighter-rouge">UnknownLeader</code>, and <code class="language-plaintext highlighter-rouge">ConcatRawRecord</code></a> in the client-go leader election <code class="language-plaintext highlighter-rouge">resourcelock</code> package.</li>
  <li>The eviction API now <a href="https://github.com/kubernetes/kubernetes/pull/138003">includes structured <code class="language-plaintext highlighter-rouge">CauseType</code> values in PodDisruptionBudget-related <code class="language-plaintext highlighter-rouge">Forbidden</code> errors</a>, so clients can distinguish PDB invalid-state errors without string-matching on the message.</li>
  <li><code class="language-plaintext highlighter-rouge">kubectl get crd</code> now <a href="https://github.com/kubernetes/kubernetes/pull/131599">displays additional columns — GROUP, SCOPE, VERSIONS, and CREATED AT</a> — providing at-a-glance visibility into each CRD’s API group, scope, served versions, and creation timestamp.</li>
  <li>Fixed <a href="https://github.com/kubernetes/kubernetes/pull/135964"><code class="language-plaintext highlighter-rouge">kubectl get storageclass</code> to show only the effective default StorageClass as <code class="language-plaintext highlighter-rouge">(default)</code></a> when multiple StorageClasses have the default annotation.</li>
  <li>Image volume validation now <a href="https://github.com/kubernetes/kubernetes/pull/135989">rejects empty <code class="language-plaintext highlighter-rouge">image.reference</code> fields in Pod templates</a> across Deployment, StatefulSet, DaemonSet, Job, and similar resources.</li>
  <li>Fixed <a href="https://github.com/kubernetes/kubernetes/pull/136920">CronJob controller failing to adopt existing Jobs</a> due to incorrectly using the empty namespace from the JobTemplate.</li>
  <li>Fixed a v1.35 regression where <a href="https://github.com/kubernetes/kubernetes/pull/137666">StatefulSets with Parallel pod management incorrectly counted unavailable pods from older revisions against the <code class="language-plaintext highlighter-rouge">maxUnavailable</code> budget</a>.</li>
  <li>Added three Pod cluster event subtypes to the scheduler framework — <a href="https://github.com/kubernetes/kubernetes/pull/135905"><code class="language-plaintext highlighter-rouge">AssignedPod</code>, <code class="language-plaintext highlighter-rouge">UnscheduledPod</code>, and <code class="language-plaintext highlighter-rouge">TargetPod</code></a> — allowing plugins to register only for the specific pod events they need, improving performance.</li>
  <li>Removed the GA feature gate <a href="https://github.com/kubernetes/kubernetes/pull/135336"><code class="language-plaintext highlighter-rouge">AnyVolumeDataSource</code></a>, locked and enabled since v1.33.</li>
  <li>Fixed <a href="https://github.com/kubernetes/kubernetes/pull/138000">stale remote HNS endpoint cleanup on Windows</a> when a pod IP is reused across nodes in L2Bridge networks, preventing DNS timeouts from traffic being routed to the wrong node.</li>
  <li>Removed the <a href="https://github.com/kubernetes/kubernetes/pull/138002"><code class="language-plaintext highlighter-rouge">--concurrent-service-syncs</code> kube-controller-manager flag</a>, which has been a no-op since v1.31.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138001">Removed <code class="language-plaintext highlighter-rouge">KubeletMinVersion</code> gate from the DRA multiple ResourceClaims e2e test</a>, as the feature is now sufficiently available.</li>
</ul>

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

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138561">golang.org/x/net</a> to v0.53.0</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138393">etcd SDK</a> to v3.6.10, and <a href="https://github.com/kubernetes/kubernetes/pull/138392">etcd image</a> also to v3.6.10</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.13.1">cluster-api v1.13.1</a>: expands Kubernetes support to v1.36, includes dependency bumps, adds testing for Kubernetes v1.36, and minor documentation updates</li>
  <li><a href="https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/releases/tag/v1.16.0">cluster-api-provider-vsphere v1.16.0</a>: introduces v1beta2 API, deprecates v1beta1, removes v1alpha3/v1alpha4, enables controller rate limiting and priority queues, improves cache and scale performance, includes multiple breaking changes</li>
  <li><a href="https://github.com/kubernetes-sigs/kubebuilder/releases/tag/v4.14.0">kubebuilder v4.14.0</a>: updates scaffold upgrade workflows, enhances Helm plugin with RBAC restructuring and multi-namespace support, adds multiple controllers per GVK, improves security in CI workflows</li>
  <li><a href="https://github.com/kubernetes-sigs/kubespray/releases/tag/v2.31.0">kubespray v2.31.0</a>: sets Kubernetes v1.35 as default, removes cgroup v1 support by default, drops ingress-nginx and Kubernetes Dashboard, improves validation and upgrades core components</li>
  <li><a href="https://github.com/prometheus/prometheus/releases/tag/v3.11.3">prometheus v3.11.3</a>: fixes multiple security issues including OAuth secret exposure, remote-read vulnerabilities, and XSS in the UI; also <a href="https://github.com/prometheus/prometheus/releases/tag/v3.5.3">v3.5.3</a></li>
  <li><a href="https://github.com/containerd/containerd/releases/tag/api/v1.11.0">containerd api v1.11.0</a>: adds transfer types for filesystem copy, introduces shim bootstrap protocol, enhances sandbox API</li>
  <li><a href="https://github.com/kubernetes/autoscaler/releases/tag/cluster-autoscaler-chart-9.57.0">cluster-autoscaler-chart v9.57.0</a>: updates Helm chart for scaling Kubernetes worker nodes</li>
</ul>

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

<ul>
  <li>Prajyot Parab: Shoutout to @adil, @Keisuke Ishigami, @Tatiana, @Aman Shrivastava, @Dhanisha Phadate, and @Graziano Casto (v1.36 Release Signal Team) for their outstanding work throughout the cycle. From tracking ~60 flaky and failing tests to completing bug triage and meeting every Go/No-Go deadline, truly impressive effort. It was great to see both experienced members and first-time shadows collaborate so effectively and deliver their best—an excellent example of teamwork and dedication.</li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[Developer News]]></summary></entry><entry><title type="html">Week Ending April 19, 2026</title><link href="https://lwkd.info/2026/20260423" rel="alternate" type="text/html" title="Week Ending April 19, 2026" /><published>2026-04-23T13:00:00+00:00</published><updated>2026-04-23T13:00:00+00:00</updated><id>https://lwkd.info/2026/2026-04-19-update</id><content type="html" xml:base="https://lwkd.info/2026/20260423"><![CDATA[<h2 id="developer-news">Developer News</h2>

<p>Kubernetes 1.36 has been released, with features including fine-grained kubelet API authorization reaching GA, MutatingAdmissionPolicy graduating to stable for declarative request mutation, and new Workload Aware Scheduling features enabling group-based (PodGroup) scheduling; more details are available in the <a href="https://kubernetes.io/blog/2026/04/22/kubernetes-v1-36-release/">official release blog</a>.</p>

<p><a href="https://groups.google.com/a/kubernetes.io/g/dev/c/oR9k24KWHVM">Kernel Module Management (KMM) operator v2.6.0</a> has been released with support for image rebuild triggers, host kernel module mounts, glob patterns for file signing, and hardened container security contexts.</p>

<p>SIG etcd has <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/gvwLzCBx-hA">nominated Josh Berkus (@jberkus) for a new leadership role as a co-chair</a>; lazy consensus is open on the dev mailing list.</p>

<p>The Kubernetes project’s <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/gvwLzCBx-hA">new GitHub Actions security policy</a> is now enforced at the enterprise level, so workflows using mutable action refs like tags, branches, or latest will fail and maintainers need to pin actions to full 40-character commit SHAs.</p>

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

<p>Kubernetes <a href="https://kubernetes.io/blog/2026/04/22/kubernetes-v1-36-release">v1.36.0</a> has been released 🎉</p>

<p>Kubernetes Patches for <a href="https://git.k8s.io/kubernetes/CHANGELOG/CHANGELOG-1.36.md">v1.33.11</a>, <a href="https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.34.md">v1.34.7</a>, and <a href="https://git.k8s.io/kubernetes/CHANGELOG/CHANGELOG-1.35.md">v1.35.4</a> have been built and pushed using Golang version 1.25.9.</p>

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

<p><a href="https://github.com/kubernetes/enhancements/blob/master/keps/sig-storage/5538-csi-sa-tokens-secrets-field/README.md">KEP-5538: CSI driver opt-in for service account tokens via secrets field</a></p>

<p>This KEP proposes an opt-in mechanism for CSI drivers to receive service account tokens through the dedicated secrets field in NodePublishVolumeRequest instead of the volume_context field. Currently, when TokenRequests is enabled in the CSIDriver spec, kubelet generates service account tokens and passes them via volume_context, which is intended for non-sensitive metadata like pod name and namespace. This design has led to security issues, including CVE-2023-2878 and CVE-2024-3744, where tokens were exposed in logs because tools like protosanitizer do not treat volume_context as sensitive data. As a result, individual CSI drivers have had to implement inconsistent and error-prone workarounds for sanitization. This proposal addresses the issue by allowing drivers to explicitly opt into receiving tokens via the secrets field, which is designed for sensitive information and ensures proper handling and sanitization, while keeping the default behavior unchanged for backward compatibility.</p>

<p>In Kubernetes v1.35, the feature is in Beta with the <code class="language-plaintext highlighter-rouge">CSIServiceAccountTokenSecrets</code> feature gate enabled by default, introducing the opt-in field in CSIDriver and ensuring backward-compatible behavior.</p>

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

<ul>
  <li>Fixed running of <a href="https://github.com/kubernetes/kubernetes/pull/138318">DRA e2e tests</a> in air-gaped clusters and with test images in private registries.</li>
  <li>Fixed <a href="https://github.com/kubernetes/kubernetes/pull/138324">scheduler bug where replacing a Pod with the same name</a> during a failed scheduling attempt could leave stale in-flight queue state and unbounded growth of in-flight event tracking.</li>
</ul>

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

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138346">go.opentelemetry.io/otel</a> to v1.41.0, also on <a href="https://github.com/kubernetes/kubernetes/pull/138350">release-1.33</a>, <a href="https://github.com/kubernetes/kubernetes/pull/138349">release-1.34</a>, and <a href="https://github.com/kubernetes/kubernetes/pull/138348">release-1.35</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.13.0-rc.1">cluster-api v1.13.0-rc.1</a>: fixes CVE-2026-39883, fixes KCP deletion when InfraTemplates are missing, marks CAPD docker resources as deprecated</li>
  <li><a href="https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/releases/tag/v1.16.0-rc.1">cluster-api-provider-vsphere v1.16.0-rc.1</a>: bumps to CAPI v1.13.0-rc.1 and CPI v1.36.0-rc.0, fixes CVE-2026-39883</li>
  <li><a href="https://github.com/kubernetes-csi/csi-driver-nfs/releases/tag/v4.13.2">csi-driver-nfs v4.13.2</a>: fixes CVE-2026-33186, avoids VolumeAttributesClass error logs in CSI sidecar containers</li>
  <li><a href="https://github.com/containerd/containerd/releases/tag/v2.3.0-beta.2">containerd v2.3.0-beta.2</a>: introduces shim bootstrap protocol, adds transfer types for container filesystem copy, supports zstd-wrapped EROFS layers, allows containers to use user namespaces with host networking, propagates OpenTelemetry traces in outgoing RPCs; also <a href="https://github.com/containerd/containerd/releases/tag/v2.2.3">v2.2.3</a>, <a href="https://github.com/containerd/containerd/releases/tag/v2.1.7">v2.1.7</a>, <a href="https://github.com/containerd/containerd/releases/tag/v2.0.8">v2.0.8</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 April 12, 2026</title><link href="https://lwkd.info/2026/20260416" rel="alternate" type="text/html" title="Week Ending April 12, 2026" /><published>2026-04-16T17:24:00+00:00</published><updated>2026-04-16T17:24:00+00:00</updated><id>https://lwkd.info/2026/2026-04-12-update</id><content type="html" xml:base="https://lwkd.info/2026/20260416"><![CDATA[<h2 id="developer-news">Developer News</h2>

<p>The Steering Committee has <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/7Y9016gdFZw">published an updated AI usage policy</a> where contributors must disclose AI use in PR descriptions, and AI tools may not be listed as co-authors or co-sign commits.</p>

<p><a href="https://groups.google.com/a/kubernetes.io/g/dev/c/awNhgIeMV2c">CVE-2026-3865</a> is a Medium-severity path traversal vulnerability in the CSI Driver for SMB; upgrade to v1.20.1 or later.</p>

<p><a href="https://groups.google.com/a/kubernetes.io/g/dev/c/I9w-3nPm8n4">WG AI Integration has been disbanded</a> after its active projects (agent-sandbox, mcp-lifecycle-operator, kube-agentic-networking) moved to their respective SIGs.</p>

<p>Viktória Spišaková is <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/35fNsXIh4qI">stepping down from WG Checkpoint-Restore</a> with Andrey Velichkevich nominated as her replacement; lazy consensus deadline is April 17 2026.</p>

<p>The <a href="https://www.kubernetes.dev/docs/orientation/">New Contributor Orientation</a> is next week on <a href="https://www.kubernetes.dev/resources/calendar/">Tuesday April 21</a>.  This week is the first of the new SIG-run format; SIG-CLI is offering this one, so if you wanted to get started contributing to kubectl, join them.</p>

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

<p><strong>Next Deadline: Kubernetes v1.36.0 Release, April 22</strong></p>

<p>Kubernetes <a href="https://git.k8s.io/kubernetes/CHANGELOG/CHANGELOG-1.36.md">v1.36.0-rc.0</a> is now available, built with Go 1.26.0.</p>

<p>Docs Freeze for v1.36 landed last week, and the <a href="https://github.com/kubernetes/kubernetes/tree/release-1.36">release-1.36</a> branch has been created as we move into the final stages of the release cycle.</p>

<p>Cherry-picks for the April patch releases closed April 10, with the release targeted for April 14.</p>

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

<p><a href="https://github.com/kubernetes/enhancements/tree/master/keps/sig-auth/740-service-account-external-signing">KEP-740: Support external signing of service account tokens</a></p>

<p>This KEP allows kube-apiserver to use external key management systems (such as HSMs or cloud KMS) for service account JWT signing instead of static on-disk keys. Currently, keys are loaded at startup and require a restart for rotation, making key management inflexible. By integrating external signers, the system enables seamless key rotation without restarts and improves security by ensuring that sensitive signing material is not stored on disk or exposed, reducing the risk of key exfiltration.</p>

<p>The feature was introduced as alpha in v1.32, promoted to beta in v1.34 and is graduating to GA in v1.36.</p>

<p>The KEP is authored by @micahhausler and @harshaln, with reviews and approvals from contributors in the SIG Auth community.</p>

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

<ul>
  <li>Fixed running of <a href="https://github.com/kubernetes/kubernetes/pull/138318">DRA e2e tests in air-gaped clusters</a> or with test images in private registries.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138244">The device manager now</a> restricts iteration to NUMA nodes that actually host devices for the requested resource, reducing the search space to O(2^k) where k is typically 1–2.</li>
  <li>Fix <a href="https://github.com/kubernetes/kubernetes/pull/137677">apiserver startup failure</a> during upgrade when MultiCIDRServiceAllocator is enabled and the cluster has a large number of namespaces.</li>
</ul>

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

<ul>
  <li>Go <a href="https://github.com/kubernetes/kubernetes/pull/138150">bumped to 1.25.8</a> in Kubernetes v1.34</li>
  <li>Go <a href="https://github.com/kubernetes/kubernetes/pull/138261">bumped to 1.26.2</a> in Kubernetes v1.36</li>
  <li>Pause image to <a href="https://github.com/kubernetes/kubernetes/pull/138199">3.10.2</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.2.3">containerd v2.2.3</a>: fixes CVE-2026-35469 (spdystream), preserves cgroup mount options for privileged containers, fixes TOCTOU race in tar extraction, updates runc to v1.3.5, fixes whiteout handling in parallel unpack; also <a href="https://github.com/containerd/containerd/releases/tag/v2.1.7">v2.1.7</a>, <a href="https://github.com/containerd/containerd/releases/tag/v2.0.8">v2.0.8</a>, <a href="https://github.com/containerd/containerd/releases/tag/v1.7.31">v1.7.31</a></li>
  <li><a href="https://github.com/kubernetes-sigs/cluster-api/releases/tag/v1.13.0-rc.1">cluster-api v1.13.0-rc.1</a>: fixes CVE-2026-39883, fixes KCP deletion when InfraTemplates are missing, marks CAPD docker resources as deprecated</li>
  <li><a href="https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/releases/tag/v1.16.0-rc.1">cluster-api-provider-vsphere v1.16.0-rc.1</a>: bumps to CAPI v1.13.0-rc.1 and CPI v1.36.0-rc.0, fixes CVE-2026-39883</li>
  <li><a href="https://github.com/kubernetes/cloud-provider-vsphere/releases/tag/v1.36.0-rc.0">cloud-provider-vsphere v1.36.0-rc.0</a>: bumps Kubernetes dependencies to v0.36.0-rc.0 and etcd to v3.6.10; also <a href="https://github.com/kubernetes/cloud-provider-vsphere/releases/tag/v1.35.1">v1.35.1</a></li>
  <li><a href="https://github.com/prometheus/prometheus/releases/tag/v3.11.2">prometheus v3.11.2</a>: fixes stored XSS via unescaped metric names and labels in UI (CVE-2026-40179), fixes Consul SD filter parameter handling; also <a href="https://github.com/prometheus/prometheus/releases/tag/v3.5.2">v3.5.2</a></li>
  <li><a href="https://github.com/kubernetes-csi/csi-driver-nfs/releases/tag/v4.13.2">csi-driver-nfs v4.13.2</a>: fixes CVE-2026-33186, avoids VolumeAttributesClass error logs in CSI sidecar containers</li>
  <li><a href="https://github.com/kubernetes-sigs/kubespray/releases/tag/v2.26.1">kubespray v2.26.1</a>: defaults to Kubernetes v1.30.6 and containerd v1.7.23, updates runc to v1.1.14 and ingress-nginx to v1.11.5; fixes etcd cert handling and PodSecurity Admission</li>
</ul>

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

<ul>
  <li>pohly: Shoutout to @Antti Kervinen for testing the new 1.36 DRA native resources alpha feature before the release, finding a real issue, tracking down the root cause and submitting <a href="https://github.com/kubernetes/kubernetes/pull/138030">the fix in his first Kubernetes PR</a>.</li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[Developer News]]></summary></entry><entry><title type="html">Week Ending April 5, 2026</title><link href="https://lwkd.info/2026/20260409" rel="alternate" type="text/html" title="Week Ending April 5, 2026" /><published>2026-04-09T16:00:00+00:00</published><updated>2026-04-09T16:00:00+00:00</updated><id>https://lwkd.info/2026/2026-04-05-update</id><content type="html" xml:base="https://lwkd.info/2026/20260409"><![CDATA[<h2 id="developer-news">Developer News</h2>

<p>The NVIDIA DRA Driver for GPUs has been <a href="https://github.com/kubernetes/community/pull/8921">officially onboarded as a SIG Node
subproject</a> in kubernetes-sigs, formally
moving community governance of the GPU DRA driver that NVIDIA donated at the 2026 KubeCon+CloudNativeCon EU into
upstream Kubernetes.</p>

<p>A <a href="https://github.com/kubernetes-sigs/dra-driver-cpu/releases/tag/v0.1.0">CPU DRA Driver v0.1.0</a> has been released, enabling exclusive CPU pinning for workloads via the DRA framework with support for aligning CPU allocations with other DRA-managed resources such as NICs and GPUs.</p>

<p>The Kubernetes contributor guide has been updated with a new <a href="https://github.com/kubernetes/community/pull/8918">AI usage and disclosure
policy</a>; all contributors should review the changes before using AI tools in their Kubernetes contributions.</p>

<p>The <a href="https://github.com/kubernetes/community/pull/8919">ingress-nginx and ingate Slack channels have been archived</a> following the project’s retirement in March; contributors should migrate to #gateway-api or other relevant channels.</p>

<h2 id="steering-committee-meeting">Steering Committee Meeting</h2>

<p>The Kubernetes Steering Committee will move all Kubernetes meeting management to the <a href="https://lfx.linuxfoundation.org/tools/">LFX Platform</a> to address broken invites and limited access for subproject leads. The system centralizes scheduling, enables subprojects to manage meetings, and syncs with the Kubernetes calendar. Community leads will be required to create LFX accounts.</p>

<p>Steering <a href="https://github.com/kubernetes/community/pull/8918">added mandatory requirements</a> to the Kubernetes AI policy. Contributors must disclose AI usage in pull requests. AI tools cannot be listed as co-authors or co-sign PRs due to Linux Foundation legal restrictions. Also, do not add mentions like “assisted by AI” in commit trailers, to prevent third-party marketing misuse.</p>

<p>The GitHub Admin Team introduced a per-repo opt-in policy for AI code review tools. It defines the lifecycle: request, security review, 90-day trial, and evaluation. Please <a href="https://github.com/kubernetes/community/pull/8910">review and provide feedback</a>.</p>

<p>To improve onboarding, ContribEx will replace the current <a href="https://www.kubernetes.dev/docs/orientation/">NCO presentations</a> with a SIG-focused format, as they were too general. This updated approach aims to make sessions more relevant and actionable, with SIG leads playing a key role in delivering them.</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 Freeze</a>, 9th April 2026</strong></p>

<p>We’re heading into Docs Freeze for v1.36, landing April 9. The release-1.36 branch will be created alongside Docs Freeze, marking the final stages of the <a href="https://www.kubernetes.dev/resources/release/">release cycle</a>.</p>

<p><a href="https://kubernetes.io/releases/patch-releases/">Cherry-picks</a> for the next round of patch releases are due April 10.</p>

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

<p><a href="https://github.com/kubernetes/enhancements/tree/master/keps/sig-scheduling/5075-dra-consumable-capacity">KEP-5075: DRA Consumable Capacity</a></p>

<p>This KEP introduces support for consumable capacity in Dynamic Resource Allocation (DRA), enabling multiple independent resource claims to allocate and share portions of the same underlying device. Unlike the traditional exclusive allocation model, this approach allows efficient device sharing across unrelated pods and namespaces while ensuring that total allocated capacity remains within device limits through a scheduler-enforced consumable capacity model.</p>

<p>This approach supports shared network devices via CNI, virtual GPU memory allocation, and other multi-allocatable devices. It introduces mechanisms for capacity-aware scheduling, per-request capacity requirements, consumed capacity tracking, and safeguards to prevent unintended duplicate allocations within a single claim.</p>

<p>The feature became alpha in Kubernetes 1.34 should become beta in 1.36.</p>

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

<ul>
  <li>Introducing fine-grained authorization <a href="https://github.com/kubernetes/kubernetes/pull/134947">checks for Dynamic Resource Allocation (DRA)</a> ResourceClaim status updates.</li>
  <li>Add the <a href="https://github.com/kubernetes/kubernetes/pull/135828"><code class="language-plaintext highlighter-rouge">UserNamespacesHostNetwork</code> runtime handler</a> and integrates the <code class="language-plaintext highlighter-rouge">UserNamespacesHostNetworkSupport</code> feature gate with the <code class="language-plaintext highlighter-rouge">NodeDeclaredFeatures</code> feature gate.</li>
  <li>Fix kubelet to preserve <a href="https://github.com/kubernetes/kubernetes/pull/138030">DRA NodeAllocatableResourceClaimStatuses</a> in <code class="language-plaintext highlighter-rouge">Pod.Status</code>.</li>
  <li>Fix <a href="https://github.com/kubernetes/kubernetes/pull/138045">erroneously reporting a pod-level resize</a> in progress on pod creation when <code class="language-plaintext highlighter-rouge">InPlacePodLevelResourcesVerticalScaling</code> is enabled.</li>
</ul>

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

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/138035">cdi spec</a> to 0.5.0</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.13.0-rc.0">cluster-api v1.13.0-rc.0</a>: bumps to Go 1.25, controller-runtime v0.23, and k8s.io/* v0.35; improves KCP failure recovery and controller memory footprint; removes v1alpha3 and v1alpha4 apiVersions; also <a href="https://github.com/kubernetes-sigs/cluster-api/releases/tag/v1.12.5">v1.12.5</a>, <a href="https://github.com/kubernetes-sigs/cluster-api/releases/tag/v1.11.8">v1.11.8</a></li>
  <li><a href="https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/releases/tag/v1.16.0-rc.0">cluster-api-provider-vsphere v1.16.0-rc.0</a>: bumps to CAPI v1.13.0-rc.0; adds v1beta2 API support for govmomi and supervisor; enables priority queue and rate limiting by default; removes v1alpha3 and v1alpha4 apiVersions</li>
  <li><a href="https://github.com/prometheus/prometheus/releases/tag/v3.11.1">prometheus v3.11.1</a>: fixes startup failure for OTLP HTTP tracing with insecure mode</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 March 29, 2026</title><link href="https://lwkd.info/2026/20260401" rel="alternate" type="text/html" title="Week Ending March 29, 2026" /><published>2026-04-01T23:50:00+00:00</published><updated>2026-04-01T23:50:00+00:00</updated><id>https://lwkd.info/2026/2026-03-29-update</id><content type="html" xml:base="https://lwkd.info/2026/20260401"><![CDATA[<h2 id="developer-news">Developer News</h2>

<p>A new <a href="https://github.com/kubernetes/community/blob/main/github-management/github-actions-policy.md">Kubernetes policy</a> requires GitHub Actions workflows to pin actions using full 40-character commit SHAs instead of mutable references like latest or main. Non-compliant workflows will fail after April 15, 2026, so maintainers should update workflows and use Dependabot to keep them up to date, see <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/gvwLzCBx-hA">details</a>.</p>

<p>The default branch of the kubernetes/community repository has been renamed from master to main. Open PRs were automatically retargeted and existing /master/ links will continue to work, but contributors should update local branches and forks to stay aligned, see <a href="https://github.com/kubernetes/community/issues/6290">tracking issue</a>.</p>

<p>SIG Release has updated platform support tiers and artifacts documentation with clearer, measurable criteria and a simplified structure, with no changes to supported platforms or artifacts, see <a href="https://github.com/kubernetes/sig-release/pull/2974">PR</a>.</p>

<p>A high-severity ingress-nginx vulnerability (CVE-2026-4342) enables configuration injection and potential code execution, affecting versions below v1.13.9, v1.14.5, and v1.15.1 as outlined in the <a href="https://github.com/kubernetes/kubernetes/issues/137893">issue</a>. With ingress-nginx now EOL, users should upgrade and migrate.</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 Freeze</a>, 9th April 2026</strong></p>

<p>Code Freeze for v1.36 is now in effect. Enhancements that did not meet the freeze criteria have been removed from the milestone. <a href="https://kubernetes.io/docs/contribute/new-content/new-features/#pr-ready-for-review">Docs PRs</a> and <a href="https://github.com/kubernetes/sig-release/discussions/2958">Release Highlights</a> were due March 31, with Docs Freeze landing April 9 (AoE April 8).</p>

<p><strong>Patch Releases</strong></p>

<p>Kubernetes <a href="https://github.com/kubernetes/kubernetes/releases/tag/v1.36.0-beta.0">v1.36.0-beta.0</a>,  <a href="https://github.com/kubernetes/kubernetes/releases/tag/v1.35.3">v1.35.3</a>, <a href="https://github.com/kubernetes/kubernetes/releases/tag/v1.34.6">v1.34.6</a>, <a href="https://github.com/kubernetes/kubernetes/releases/tag/v1.33.10">v1.33.10</a> were released last week, delivering the latest fixes and updates.</p>

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

<h3 id="137544-promote-nodelogquery-to-ga-in-v136-and-lock-default-to-true"><a href="https://github.com/kubernetes/kubernetes/pull/137544">137544: Promote NodeLogQuery to GA in v1.36 and lock default to true</a></h3>

<p><a href="https://github.com/jrvaldes">jrvaldes</a> has promoted the <strong>NodeLogQuery</strong> feature to General Availability in Kubernetes v1.36 as part of <a href="https://github.com/kubernetes/enhancements/issues/2258">KEP-2258: Node Log Query Enhancements</a>. The PR was reviewed and approved by maintainers including <a href="https://github.com/liggitt">liggitt</a> and contributors from SIG Node and SIG Windows.</p>

<p>NodeLogQuery allows cluster administrators to retrieve node-level system and service logs directly through the Kubernetes API by proxying requests through the kubelet. Instead of logging into nodes with SSH or RDP and manually searching logs with tools such as <code class="language-plaintext highlighter-rouge">journalctl</code> or the Windows Event Viewer, operators can query logs with a single <code class="language-plaintext highlighter-rouge">kubectl</code> command.</p>

<p>The feature was originally introduced in Kubernetes 1.27 as an alpha capability and progressed to beta in Kubernetes 1.30 before graduating to GA in v1.36. During this time the implementation matured with improvements to filtering, cross-platform support for both Linux and Windows nodes, and security hardening after the discovery of CVE-2024-9042 affecting the Windows implementation.</p>

<p>Under the hood, the kubelet exposes a <code class="language-plaintext highlighter-rouge">/logs/</code> HTTP endpoint that queries the operating system’s native logging infrastructure (<code class="language-plaintext highlighter-rouge">journalctl</code> on Linux and <code class="language-plaintext highlighter-rouge">Get-WinEvent</code> on Windows), allowing Kubernetes to provide a unified interface for retrieving node logs regardless of operating system.</p>

<p>The feature originated from work led by <a href="https://github.com/aravindhp">Aravindh Puthiyaparambil</a> and contributors across SIG Windows and SIG Node. With the GA promotion, the <code class="language-plaintext highlighter-rouge">NodeLogQuery</code> feature gate is now locked to enabled, making node log queries a stable part of the Kubernetes debugging and observability toolkit.</p>

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

<p><a href="https://github.com/kubernetes/enhancements/tree/master/keps/sig-scheduling/4815-dra-partitionable-devices">KEP-4815: DRA: Add support for partitionable devices</a></p>

<p>This KEP restores the ability of Dynamic Resource Allocation (DRA) to support on-demand device partitioning within the newer “structured parameters” framework, enabling more efficient utilization of resources like GPUs and other accelerators. It introduces mechanisms for vendors to represent both full devices and overlapping partitions compactly, allowing the scheduler to safely allocate non-conflicting partitions while enabling dynamic creation of those partitions after allocation—without changing the existing user-facing ResourceClaim workflow.</p>

<p>The proposal is driven by use cases such as GPU partitioning, multi-host TPU scheduling, SR-IOV, and ensuring valid device topologies across single and multi-node environments, while also supporting logical devices composed of multiple physical resources.</p>

<p>The feature is currently under proposal stage, with ongoing discussions focused on restoring lost flexibility from “classic” DRA and aligning it with structured parameters, and is expected to evolve through standard Kubernetes release stages (alpha, beta, GA) based on implementation maturity and community feedback.</p>

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

<ul>
  <li>Switch <a href="https://github.com/kubernetes/kubernetes/pull/137909">PLEGOnDemandRelist</a> default to false for 1.36</li>
  <li>Fixes a 1.35 regression in StatefulSet Parallel pod management by <a href="https://github.com/kubernetes/kubernetes/pull/137904">disabling the MaxUnavailableStatefulSet feature by default</a>.</li>
  <li>Added alpha support for tracking PVC unused status via a <a href="https://github.com/kubernetes/kubernetes/pull/137862">new <code class="language-plaintext highlighter-rouge">Unused</code> condition on PersistentVolumeClaimStatus</a>.</li>
  <li>Fix bug where users <a href="https://github.com/kubernetes/kubernetes/pull/137856">can’t update HPAv2 resources</a> that use object metrics with averageValue via the v1 HPA API.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137827">cri-client helper method NewLogOptions was removed</a> and LogOptions must be constructed directly.</li>
  <li>Enables Prometheus native histogram support in <a href="https://github.com/kubernetes/kubernetes/pull/137781">kube-proxy</a>,<a href="https://github.com/kubernetes/kubernetes/pull/137780">kubelet</a>, <a href="https://github.com/kubernetes/kubernetes/pull/137779">KCM</a> when feature gate is enabled.</li>
  <li>The <a href="https://github.com/kubernetes/kubernetes/pull/137753">“Failed to update lease optimistically”</a> log message may not be shown to users anymore, depending on the log level they have set.</li>
  <li>Add <a href="https://github.com/kubernetes/kubernetes/pull/137719">tiered cgroup v2 memory protection</a> for <code class="language-plaintext highlighter-rouge">MemoryQoS: memory.min</code> for Guaranteed pods, <code class="language-plaintext highlighter-rouge">memory.low</code> for Burstable pods, with node-level metrics and rollback reconciliation (KEP-2570).</li>
  <li>Writes to the <a href="https://github.com/kubernetes/kubernetes/pull/137715">ServiceCIDR main resource</a> now ignore status field changes in the request, consistent with all other Kubernetes APIs.</li>
  <li>Fixed a bug preventing <a href="https://github.com/kubernetes/kubernetes/pull/137647">Pods sharing ResourceClaims</a> from being scheduled with GangScheduling.</li>
  <li>Added a deletion protection mechanism for PodGroup objects <a href="https://github.com/kubernetes/kubernetes/pull/137641">KEP-5832</a>.</li>
  <li>Fixed how image names are compared to the values from <a href="https://github.com/kubernetes/kubernetes/pull/137629"><code class="language-plaintext highlighter-rouge">preloadedImagesVerificationAllowlist</code> in Kubelet’s configuration</a>.</li>
  <li>kube-scheduler now updates <a href="https://github.com/kubernetes/kubernetes/pull/137611">PodGroup status with a <code class="language-plaintext highlighter-rouge">PodGroupScheduled</code></a> condition reflecting whether the group was successfully scheduled or is unschedulable.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137607">DRA allocation timeouts are now surfaced</a> as visible scheduling failures and retried with per-pod exponential backoff, instead of silently skipping nodes or incorrectly marking pods unschedulable.</li>
  <li>When <a href="https://github.com/kubernetes/kubernetes/pull/137606">WorkloadAwarePreemption Feature Gate</a> is enabled, and the Pod Group scheduling fails to find a place for the Pod Group, instead of running default preemption for each pod from the pod group, the workload aware preemption will be run for the whole group.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137584">MemoryReservationPolicy cgroup v2 MemoryQoS</a> support to KubeletConfiguration for memory.min protection (KEP-2570).</li>
  <li>TAS logic to the pod group scheduling cycle behind <a href="https://github.com/kubernetes/kubernetes/pull/137489">TopologyAwareWorkloadScheduling feature gate</a>. This feature supports scheduling pod groups on nodes with matching topology domains (KEP 5723).</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137488"><code class="language-plaintext highlighter-rouge">PodGroupPodsCount</code> scheduler plugin</a> to support workload-aware scheduling by prioritizing placements with higher pod counts within a group.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137464">admission plugin</a> that validates PodGroup resources reference an existing Workload and match the declared PodGroupTemplate spec.</li>
  <li>Disallow setting a resize restart <a href="https://github.com/kubernetes/kubernetes/pull/137458">policy of <code class="language-plaintext highlighter-rouge">RestartContainer</code> on non-sidecar initContainers</a>, as the resize of such containers has never been supported.</li>
  <li>DRA ResourceSlice controller: new optional <a href="https://github.com/kubernetes/kubernetes/pull/137365"><code class="language-plaintext highlighter-rouge">ReconcilePoolWithName</code></a> allows per-pool reconciliation without setting NodeName on slices.</li>
  <li>Support <a href="https://github.com/kubernetes/kubernetes/pull/137352">in-place pod resize</a> of running non-sidecar initContainers.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137326">Fixed an issue where zero-valued PSI (Pressure Stall Information) metrics</a> were emitted by the kubelet when the OS does not support PSI, even if the KubeletPSI feature gate was enabled.</li>
  <li>Warnings and deprecation for <a href="https://github.com/kubernetes/kubernetes/pull/137293">Service.spec.externalIPs</a></li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137271">SchedulingConstraints to express TAS constraints</a> for pod group scheduling behind TopologyAwareWorkloadScheduling feature gate (KEP-5732).</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137190">Alpha Introduce List Types</a> for Attributes in DRA (KEP-5491).</li>
  <li>Fixed a bug where <a href="https://github.com/kubernetes/kubernetes/pull/137146">regular containers in a pod with a sidecar</a> (initContainer with restartPolicy: Always) and a startupProbe failed to restart after crashing following a kubelet restart, leaving affected pods stuck with RestartCount: 0 indefinitely.</li>
  <li>Opt-in alpha support in <a href="https://github.com/kubernetes/kubernetes/pull/137086">kubeletplugin framework for DRA drivers</a> to publish DRA Device metadata in pod CDI mounts.</li>
  <li>Integrate <a href="https://github.com/kubernetes/kubernetes/pull/137032">Workload and PodGroup APIs</a> with the Job controllers to support gang-scheduling.</li>
  <li>ResourcePoolStatusRequest API (v1alpha1) for <a href="https://github.com/kubernetes/kubernetes/pull/137028">querying DRA resource pool availability</a>.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137002">Capped <code class="language-plaintext highlighter-rouge">nf_conntrack_max</code> to 1,048,576</a> to prevent excessive memory consumption on high-core machines when using automatic calculation.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137001">Fixed redundant SSH command executions</a> in the etcd failure e2e test.</li>
  <li>DRA: PodGroup resources can now make requests with <a href="https://github.com/kubernetes/kubernetes/pull/136989">ResourceClaims through a <code class="language-plaintext highlighter-rouge">spec.resourceClaims</code> field</a> which can refer to ResourceClaims and ResourceClaimTemplates.</li>
  <li>New <a href="https://github.com/kubernetes/kubernetes/pull/136987">RuntimeService streaming RPCs</a> (<code class="language-plaintext highlighter-rouge">StreamPodSandboxes</code>, <code class="language-plaintext highlighter-rouge">StreamContainers</code>, <code class="language-plaintext highlighter-rouge">StreamContainerStats</code>, <code class="language-plaintext highlighter-rouge">StreamPodSandboxStats</code>, <code class="language-plaintext highlighter-rouge">StreamPodSandboxMetrics</code>) and New ImageService streaming RPC (<code class="language-plaintext highlighter-rouge">StreamImages</code>).</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136652">Extended NodeResourcesFit</a> to implement the PlacementScore extension point.</li>
  <li>Introduce <a href="https://github.com/kubernetes/kubernetes/pull/136641">index-based naming in ResourceSlice controller</a> and ensure ResourceSlices and pools are sorted lexicographically before allocation, allowing users to control allocation priority.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136589"><code class="language-plaintext highlighter-rouge">DisruptionMode</code>, <code class="language-plaintext highlighter-rouge">PriorityClassName</code> and <code class="language-plaintext highlighter-rouge">Priority</code> fields</a> to Workload and PodGroup APIs to support workload-aware preemption when <code class="language-plaintext highlighter-rouge">WorkloadAwarePreemption</code> feature gate is enabled.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136483">Renamed metric</a> ‘etcd_bookmark_counts’ to ‘etcd_bookmark_total’.</li>
  <li>Introduce <a href="https://github.com/kubernetes/kubernetes/pull/136725">support of DRA</a> for Native Resources.</li>
  <li>An admission plugin to perform the <a href="https://github.com/kubernetes/kubernetes/pull/136043">OS and node capacity checks</a></li>
  <li>The <a href="https://github.com/kubernetes/kubernetes/pull/135828"><code class="language-plaintext highlighter-rouge">UserNamespacesHostNetwork</code> runtime handler</a> and integrates the <code class="language-plaintext highlighter-rouge">UserNamespacesHostNetworkSupport</code> feature gate with the <code class="language-plaintext highlighter-rouge">NodeDeclaredFeatures</code> feature gate.</li>
  <li>DRA (Dynamic Resource Allocation) drivers and controllers now require <a href="https://github.com/kubernetes/kubernetes/pull/134947">granular RBAC permissions</a> to update ResourceClaim statuses when the <code class="language-plaintext highlighter-rouge">DRAResourceClaimGranularStatusAuthorization</code> feature gate is enabled (Beta in 1.36).</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/134660">Kubelet now sets <code class="language-plaintext highlighter-rouge">PodReadyToStartContainers</code> condition immediately after sandbox creation</a> rather than after image pull, reducing the time to condition True.</li>
  <li>A <a href="https://github.com/kubernetes/kubernetes/pull/134627">new gRPC service is added to the Kubelet</a> that provides information about pods running on the node.</li>
  <li>kubectl: <a href="https://github.com/kubernetes/kubernetes/pull/131744"><code class="language-plaintext highlighter-rouge">kubectl describe node</code></a> now lists aggregated ResourceSlices when the <code class="language-plaintext highlighter-rouge">ResourceSlice</code> API is present, detailing slice name, driver, and pool.</li>
</ul>

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

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137609">Constrained impersonation</a> to beta.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137544">NodeLogQuery</a> to GA</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137795">Device Binding Conditions (KEP #5007)</a> to beta.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137684">InPlacePodLevelResourcesVerticalScaling feature</a> to beta.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137454">ProcMountType</a> to GA</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137350">DRAPartitionableDevices</a> to beta</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136548">KubeletPSI FeatureGate</a> to GA</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136367">Job controller metrics</a> to beta</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136314">etcd metric ‘apiserver_storage_events_received_total</a> to beta</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136155">scheduler metrics</a> to beta</li>
</ul>

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

<ul>
  <li><a href="https://github.com/etcd-io/etcd/releases/tag/v3.6.10">etcd v3.6.10</a>: patch release; also <a href="https://github.com/etcd-io/etcd/releases/tag/v3.5.29">v3.5.29</a>, <a href="https://github.com/etcd-io/etcd/releases/tag/v3.4.43">v3.4.43</a>: fixes <a href="https://github.com/etcd-io/etcd/security/advisories/GHSA-rfx7-8w68-q57q">several security</a> <a href="https://github.com/etcd-io/etcd/security/advisories/GHSA-q8m4-xhhv-38mg">vulnerabilities</a> reported by community members; these vulns do not affect the Kubernetes control plane, but affect users of etcd Auth feature.</li>
  <li><a href="https://github.com/containerd/nerdctl/releases/tag/v2.2.2">nerdctl v2.2.2</a>: updates BuildKit to v0.28.1 and CNI plugins to v1.9.1 with security fixes; full distribution includes containerd v2.2.1, runc v1.4.0, and RootlessKit v2.3.6</li>
  <li><a href="https://github.com/kubernetes-sigs/cluster-api/releases/tag/v1.13.0-beta.1">cluster-api v1.13.0-beta.1</a>: adds DevMachinePools for CAPD, optimizes cache configuration for core and KCP controllers, tunes concurrency for scale; fixes KCP label handling and ClusterRole conflicts; bumps cert-manager to v1.20.1</li>
  <li><a href="https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/releases/tag/v1.16.0-beta.1">cluster-api-provider-vsphere v1.16.0-beta.1</a>: adds crypto configuration support, tunes controller concurrency for scale, fixes zone info fetch from VM conditions; bumps to CAPI v1.13.0-beta.1 and fixes gRPC CVE</li>
  <li><a href="https://github.com/prometheus/prometheus/releases/tag/v3.11.0-rc.0">prometheus v3.11.0-rc.0</a>: adds AWS Elasticache/RDS SD roles, Azure Workload Identity auth, new PromQL histogram operators and histogram_quantiles function, experimental fast-startup and ST storage flags; fixes EC2 SD endpoint regression, alert state reset bug, and multiple TSDB memory leaks</li>
  <li><a href="https://github.com/kubernetes/cloud-provider-vsphere/releases/tag/v1.35.1">cloud-provider-vsphere v1.35.1</a>: fixes CVE-2026-33186 (CVSS 9.1) and CVE-2026-24051 (CVSS 7.0)</li>
  <li><a href="https://github.com/grpc/grpc/releases/tag/v1.80.0">gRPC v1.80.0</a>: implements TLS private key offload, adds InMemoryCertificateProvider, enables EventEngine for Python by default with fork support, adds Ruby 4.0 build support; fixes PHP infinite recursion and Python AsyncIO concurrent RPC enforcement</li>
</ul>

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

<ul>
  <li>pohly: Shoutout to @everpeace for getting their first KEP implemented as alpha.</li>
  <li>pohly: Shoutout to @Noureldin for another alpha DRA KEP implementation.</li>
  <li>pohly: Shoutout to @nojnhuh for getting their first KEP implementation merged as alpha for v1.36.</li>
</ul>]]></content><author><name></name></author><summary type="html"><![CDATA[Developer News]]></summary></entry><entry><title type="html">Week Ending March 15, 2026</title><link href="https://lwkd.info/2026/20260313" rel="alternate" type="text/html" title="Week Ending March 15, 2026" /><published>2026-03-13T19:00:00+00:00</published><updated>2026-03-13T19:00:00+00:00</updated><id>https://lwkd.info/2026/2026-03-15-update</id><content type="html" xml:base="https://lwkd.info/2026/20260313"><![CDATA[<h2 id="developer-news">Developer News</h2>

<p><a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/">Kubecon Europe 2026</a> is next week!  The KubeCon EU Maintainer Summit is now sold out, and the CNCF will not allow unregistered contributors to attend due to high demand.  Regardless, do join us for the <a href="https://www.kubernetes.dev/events/2026/kcseu/meet-and-greet/">Kubernetes Meet &amp; Greet</a> on Wednesday, March 25, which is <em>not</em> sold out.</p>

<p>The NFS CSI Driver <a href="https://github.com/kubernetes/kubernetes/issues/137797">patched a security vulnerability</a> which could allow unauthorized users to modify or delete files.</p>

<p>KubeCon Japan CFP <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-japan/features-add-ons/project-opportunities/">(Maintainer Track + Lightning Talks)</a> closes April 12.  <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-japan/program/cfp/">KubeCon Japan Regular CFP</a> is open until 29 March 2026. KubeCon + CloudNativeCon + OpenInfra Summit + PyTorch Conference China CFP <a href="https://www.lfopensource.cn/kubecon-cloudnativecon-openinfra-summit-pytorch-conference-china/features-add-ons/project-opportunities/#dates-to-remember">(Maintainer Track + Lightning Talks)</a> closes May 3, 23:59 CST / 21:29 IST / 15:59 UTC / 11:59 EDT</p>

<p><a href="https://github.com/kubernetes/ingress-nginx">ingress-nginx</a> will reach End of Life (EOL) on March 31, concluding its best-effort maintenance period.</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#code-freeze">Code &amp; Test Freeze</a>, 19th March 2026</strong></p>

<p>Code &amp; Test Freeze for v1.36 starts tomorrow. Make sure your feature
work is completed and merged before the deadline. After the freeze, only
critical fixes will be accepted, and other changes will require an <a href="https://git.k8s.io/sig-release/releases/EXCEPTIONS.md">exception</a>.</p>

<p>The March Kubernetes patch releases are <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/RqVkcwfENgg/m/HhP0qL9EAQAJ?utm_medium=email&amp;utm_source=footer">delayed</a> and are currently
expected to be cut early this week.</p>

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

<p><strong><a href="https://github.com/kubernetes/kubernetes/pull/137454">137454: KEP-4265: promote ProcMountType to GA</a></strong></p>

<p><a href="https://github.com/haircommander">Joe Beda</a> has promoted the <strong>ProcMountType</strong> feature to General Availability as part of <a href="https://github.com/kubernetes/enhancements/issues/4265">KEP-4265</a>. The change was reviewed and approved by contributors including <a href="https://github.com/liggitt">Jordan Liggitt</a> and members of SIG Auth, SIG Node, and SIG CLI.</p>

<p><code class="language-plaintext highlighter-rouge">ProcMountType</code> allows Kubernetes workloads to control how the Linux <code class="language-plaintext highlighter-rouge">/proc</code> filesystem is mounted inside containers. The <code class="language-plaintext highlighter-rouge">/proc</code> filesystem exposes information about running processes on a host, which can be useful for debugging and monitoring but may also reveal sensitive host details. The feature allows containers to run with a more restricted <code class="language-plaintext highlighter-rouge">/proc</code> mount, helping isolate workloads from host process information and improving container security.</p>

<p>With this PR, the feature is considered stable and the associated feature gate has been removed from the API documentation. This means contributors and users can rely on the functionality as part of the core Kubernetes API going forward, without needing to enable experimental flags.</p>

<p>The work builds on earlier implementation and stabilization efforts, including related PRs such as <a href="https://github.com/kubernetes/kubernetes/pull/136792">#136792</a>, which promoted the <code class="language-plaintext highlighter-rouge">UserNamespacesSupport</code> feature to GA and removed remaining feature-gate references across the codebase. These changes collectively advance Kubernetes’ support for stronger container isolation features in the Linux kernel.</p>

<p>The feature is relevant to multiple parts of the Kubernetes project, including kubelet behavior, container runtime interactions, and workload security configuration. Contributors working in areas such as pod security, container runtime integration, and node lifecycle management may encounter this functionality when configuring process namespace and <code class="language-plaintext highlighter-rouge">/proc</code> access within pods.</p>

<p>For more details, see the enhancement proposal in <a href="https://github.com/kubernetes/enhancements/issues/4265">KEP-4265</a> and the discussion in the pull request above.</p>

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

<p><a href="https://github.com/kubernetes/enhancements/blob/master/keps/sig-scheduling/4671-gang-scheduling/README.md">KEP-4671: Gang Scheduling using Workload Object</a></p>

<p>This KEP implements gang scheduling in kube-scheduler, proposed by SIG Scheduling, enabling Kubernetes to schedule groups of Pods as a single unit using an all-or-nothing model. It introduces the Workload and PodGroup APIs, allowing the scheduler to wait until a minimum number of Pods can be scheduled together before binding them, improving support for distributed workloads like AI/ML and batch jobs.</p>

<p>SIG Scheduling contributors are actively working on API refinements and scheduler behavior, with ongoing discussions around evolving toward a more workload-aware scheduling model.</p>

<p>KEP-4671 reached alpha in Kubernetes v1.35 behind the <code class="language-plaintext highlighter-rouge">GenericWorkload</code> feature gate, and is expected to progress to beta in a future release, subject to API stability and testing.</p>

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

<ul>
  <li>Fixes the total <a href="https://github.com/kubernetes/kubernetes/pull/137683">pod resources computation</a></li>
  <li>Explicitly <a href="https://github.com/kubernetes/kubernetes/pull/137637">writes memory.min=0 for QoS cgroups</a> when the calculated requests are zero.</li>
  <li>Truncates the <a href="https://github.com/kubernetes/kubernetes/pull/137615">watch cache RV metric</a> to 15 digits to ensure precision.</li>
  <li>Improve stability by sorting containers by create time and ID in <a href="https://github.com/kubernetes/kubernetes/pull/137566">kubeGenericRuntimeManager.GetPods() and GetPod()</a></li>
  <li>Allow the CRI (and NRI) to <a href="https://github.com/kubernetes/kubernetes/pull/137555">block pod-level resizes</a>.</li>
  <li>Slow requests that use impersonation can now be tracked via the <a href="https://github.com/kubernetes/kubernetes/pull/137523"><code class="language-plaintext highlighter-rouge">apiserver.latency.k8s.io/impersonation</code></a> audit event annotation when the ConstrainedImpersonation feature is enabled.</li>
  <li>Enables <a href="https://github.com/kubernetes/kubernetes/pull/137466">Prometheus native histogram support</a> in scheduler when feature gate is enabled.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137398">Fix goroutine hot-loop in client-go</a> StartEventWatcher when the event broadcaster shuts down before the cancellation context fires.</li>
  <li>With DRABindingConditions enabled, <a href="https://github.com/kubernetes/kubernetes/pull/137371">reusing the same claim across different Pods</a> could rarely trigger a scheduler panic during parallel de-allocation due to a race condition.</li>
  <li>Add <a href="https://github.com/kubernetes/kubernetes/pull/137346">alpha support for manifest-based admission control</a> configuration (KEP-5793).</li>
  <li>Allow users to opt-in to <a href="https://github.com/kubernetes/kubernetes/pull/137343">scheduling behaviour for CSI volume</a></li>
  <li>Fix link file ownership of <a href="https://github.com/kubernetes/kubernetes/pull/137332">projected serviceAccountToken</a>.</li>
  <li>Validation messages for a Pod’s <code class="language-plaintext highlighter-rouge">status.resourceClaimStatuses[].resourceClaimName</code> now refer correctly to the <a href="https://github.com/kubernetes/kubernetes/pull/137321"><code class="language-plaintext highlighter-rouge">resourceClaimName</code> field instead of the <code class="language-plaintext highlighter-rouge">name</code></a> field.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137300">Update <code class="language-plaintext highlighter-rouge">kubectl kuberc set</code></a> with options for setting <code class="language-plaintext highlighter-rouge">credentialPluginPolicy</code> and <code class="language-plaintext highlighter-rouge">credentialPluginAllowlist</code>.</li>
  <li>Introduces new <a href="https://github.com/kubernetes/kubernetes/pull/137298">staging modules <code class="language-plaintext highlighter-rouge">k8s.io/streaming</code> and <code class="language-plaintext highlighter-rouge">k8s.io/cri-streaming</code></a> for Kubernetes streaming transport and CRI streaming server code.</li>
  <li>Added two scheduler metrics for Device Binding Conditions, covering <a href="https://github.com/kubernetes/kubernetes/pull/137284">allocation attempts and PreBind duration</a> with status and driver labels.</li>
  <li>Added <a href="https://github.com/kubernetes/kubernetes/pull/137201">PlacementScore extension point</a> to the scheduler.</li>
  <li>For performance reasons, <a href="https://github.com/kubernetes/kubernetes/pull/137145"><code class="language-plaintext highlighter-rouge">kubectl describe</code></a> now defaults to showing related events only when describing a single object.</li>
  <li>Add <a href="https://github.com/kubernetes/kubernetes/pull/137115">–tls-curve-preferences flag</a> for configuring TLS key exchange mechanism.</li>
  <li>Introduce <a href="https://github.com/kubernetes/kubernetes/pull/136976">scheduling.k8s.io/v1alpha2 Workload and PodGroup</a> API.</li>
  <li>Reflecting the expected replica count to the output of <a href="https://github.com/kubernetes/kubernetes/pull/136945">kubectl scale command</a>.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136817">Garbage collector</a> now correctly handles objects deleted externally, preventing spurious error logs.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136640">Add tlsServerName field to EgressSelectorConfiguration TLSConfig</a> to allow overriding the server name used for TLS certificate verification.</li>
  <li>Add <a href="https://github.com/kubernetes/kubernetes/pull/136279">ControllerManagerReleaseLeaderElectionLockOnCancel feature gate to gate leader election</a> lock release on exit for kube-controller-manager.</li>
  <li>Extend <a href="https://github.com/kubernetes/kubernetes/pull/136256">WebSocket Streaming Protocol</a> to the Kubelet for Exec/Attach/PortForward.</li>
  <li>Remove <a href="https://github.com/kubernetes/kubernetes/pull/135297">CRD stored versions</a> from status upon SVM migration.</li>
  <li>Reduced get <a href="https://github.com/kubernetes/kubernetes/pull/134290">PV request from KCM pv-controller</a> for CSI volumes.</li>
  <li>k8s.io/client-go/transport now <a href="https://github.com/kubernetes/kubernetes/pull/132922">automatically reloads certificate</a> authority roots from disk when they are supplied via a file path.</li>
  <li>Allow the <a href="https://github.com/kubernetes/kubernetes/pull/134768">Topology, CPU, and Memory managers</a> to recognize and act upon <code class="language-plaintext highlighter-rouge">pod.spec.resources</code>, enabling two flexible resource management models</li>
</ul>

<h2 id="promotions">Promotions</h2>
<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137454">ProcMountType feature</a> to GA</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137386">ComponentFlagz feature</a> gate to Beta</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137384">ComponentStatusz feature</a> gate to Beta</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137170">DRA device taints</a> to Beta</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136924">DRAPrioritizedList</a> to GA</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136792">UserNamespacesSupport</a> to GA</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136728"><code class="language-plaintext highlighter-rouge">KubeletPodResourcesDynamicResources</code> and <code class="language-plaintext highlighter-rouge">KubeletPodResourcesGet</code></a> feature gates to GA</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136711">ImageVolume</a> to GA</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136681">RestartAllContainers</a> to beta</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136178">HPA metrics</a> to beta</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136042"><code class="language-plaintext highlighter-rouge">NodeDeclaredFeatures</code></a> to beta.</li>
</ul>

<h2 id="version-updates">Version Updates</h2>
<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137605">coredns</a> to v1.14.2</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.13.0-beta.0"><strong>Cluster API v1.13.0-beta.0</strong></a>: introduces significant updates with 25 new features and multiple breaking changes, including removal of deprecated APIs, adoption of v1beta2 contracts, improved ClusterClass and Machine handling, and enhanced rollout and caching mechanisms. The release also upgrades dependencies such as controller-runtime and Go, alongside extensive bug fixes and testing improvements. Additionally, <a href="https://github.com/kubernetes-sigs/cluster-api/releases/tag/v1.12.4"><strong>v1.12.4</strong></a> and <a href="https://github.com/kubernetes-sigs/cluster-api/releases/tag/v1.11.7"><strong>v1.11.7</strong></a> provide backported bug fixes, CVE patches, and stability improvements across supported branches.</li>
  <li><a href="https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/releases/tag/v1.16.0-beta.0"><strong>Cluster API Provider vSphere v1.16.0-beta.0</strong></a>: delivers major API alignment with Cluster API v1beta2, including multiple breaking changes, improved VM and infrastructure handling, enhanced testing, and support for new features like Node Auto Placement and extended VM configuration options. The release also includes dependency upgrades, improved caching, and stability fixes.</li>
  <li><a href="https://github.com/containerd/containerd/releases/tag/v2.3.0-beta.0"><strong>containerd v2.3.0-beta.0</strong></a>: marks the next minor release aligned with Kubernetes cadence and introduces LTS support, improved CRI functionality, enhanced image handling (including EROFS support), expanded Node Resource Interface capabilities, and runtime improvements such as updated cgroup stats and OOM handling. The release also includes broad dependency updates and new plugin capabilities.</li>
  <li><a href="https://github.com/grpc/grpc/releases/tag/v1.80.0-pre1"><strong>gRPC v1.80.0-pre1</strong></a>: a pre-release focused on incremental improvements, refinements, and bug fixes in the gRPC core.</li>
  <li><a href="https://github.com/kubernetes/kops/releases/tag/v1.35.0"><strong>kOps v1.35.0</strong></a>: introduces improvements such as warm pool enhancements, dependency upgrades (including Go and etcd-manager), networking and bootstrap fixes, and updated Kubernetes component integrations. Patch releases <a href="https://github.com/kubernetes/kops/releases/tag/v1.34.2"><strong>v1.34.2</strong></a>, <a href="https://github.com/kubernetes/kops/releases/tag/v1.33.2"><strong>v1.33.2</strong></a>, and <a href="https://github.com/kubernetes/kops/releases/tag/v1.32.4"><strong>v1.32.4</strong></a> provide backported fixes, dependency bumps, Kubernetes component updates, and stability improvements across earlier supported versions.</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 March 8, 2026</title><link href="https://lwkd.info/2026/20260311" rel="alternate" type="text/html" title="Week Ending March 8, 2026" /><published>2026-03-11T22:00:00+00:00</published><updated>2026-03-11T22:00:00+00:00</updated><id>https://lwkd.info/2026/2026-03-08-update</id><content type="html" xml:base="https://lwkd.info/2026/20260311"><![CDATA[<h2 id="developer-news">Developer News</h2>
<p>Next Tuesday is the monthly <a href="https://www.kubernetes.dev/docs/orientation/">New Contributor Orientation</a>. Join at <a href="https://www.kubernetes.dev/resources/calendar/">one of two times</a> to learn all about starting your contribution journey.</p>

<p>SIG Testing chair Brian McQueen <a href="https://groups.google.com/a/kubernetes.io/g/dev/c/Y6hmeeXAeH8">moved to emeritus</a> due to lack of recent activity. Thank you Brian McQueen for helping lead SIG Testing and for his contributions to the community.</p>

<p>We are hosting the <a href="https://www.kubernetes.dev/events/2026/kcseu/meet-and-greet/">Kubernetes Meet &amp; Greet</a> for Wednesday March 25th lunch at Kubecon Europe.  Kubernetes contributors, as well as people interested in becoming contributors, should join us.</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#code-freeze">Code &amp; Test Freeze</a>, 19th March 2026</strong></p>

<p>We’re heading into Code &amp; Test Freeze for v1.36 next week. Make sure your
feature work is wrapped up and merged before the deadline. After the freeze,
only critical fixes land, and anything else will need an exception.</p>

<p>The March Kubernetes patch releases are delayed and now expected early next week. The cherry-pick deadline has been extended to Friday, March 13 at 5 PM PT.</p>

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

<h3 id="136976-create-workload-api-v1alpha2"><a href="https://github.com/kubernetes/kubernetes/pull/136976">#136976: Create Workload API v1alpha2</a></h3>

<p>Introduces <code class="language-plaintext highlighter-rouge">scheduling.k8s.io/v1alpha2</code> Workload and PodGroup APIs as part of ongoing workload-aware scheduling work. This replaces the previous <code class="language-plaintext highlighter-rouge">v1alpha1</code> Workload API and updates Pods to reference scheduling groups through a new <code class="language-plaintext highlighter-rouge">SchedulingGroup</code> field, decoupling PodGroups from Workloads and enabling more flexible workload-level scheduling.</p>

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

<p><a href="https://github.com/kubernetes/enhancements/blob/master/keps/sig-instrumentation/4828-component-flagz/README.md">KEP-4828: Component Flagz</a></p>

<p>This proposal aims to improve observability, troubleshooting, and debugging for core Kubernetes components by introducing a flagz endpoint for each component. The endpoint would expose the command-line flags used to start a component, giving users real-time visibility into its active configuration and helping diagnose misconfigurations or unexpected behavior. Building on ideas from the Component Statusz KEP but introducing a dedicated endpoint, the flagz interface would allow users to dynamically inspect and understand the flags currently applied to running Kubernetes components, making it easier to detect configuration issues that could lead to instability or outages. However, the proposal does not intend to replace existing monitoring mechanisms such as metrics, logs, or traces, nor does it aim to provide information about components that are inaccessible due to network restrictions.</p>

<p>This KEP graduated to alpha in v1.35.</p>

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

<ul>
  <li>Fix informer-gen to <a href="https://github.com/kubernetes/kubernetes/pull/137473">generate SetTransform calls</a> that correctly override per-informer transforms.</li>
  <li>Fix <a href="https://github.com/kubernetes/kubernetes/pull/137394">kubectl describe node</a> to correctly display resource requests and limits for pods using pod-level resources.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137379"><code class="language-plaintext highlighter-rouge">v1alpha1</code> WebhookAdmissionConfiguration</a> has been removed. It was deprecated in v1.17 in favor of <code class="language-plaintext highlighter-rouge">apiserver.config.k8s.io/v1</code>.</li>
  <li>Remove the <a href="https://github.com/kubernetes/kubernetes/pull/137348">dead <code class="language-plaintext highlighter-rouge">--bounding-dirs</code> flag and <code class="language-plaintext highlighter-rouge">BoundingDirs</code> field</a> from deepcopy-gen.</li>
  <li>Fix incorrect behavior when using AllocationModeAll with <a href="https://github.com/kubernetes/kubernetes/pull/137347">DRA PrioritizedList</a> that prevented the allocator from successfully allocating a claim even when devices were available.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137304">Direct access to the <code class="language-plaintext highlighter-rouge">Raw</code> field of <code class="language-plaintext highlighter-rouge">metav1.FieldsV1</code></a> is deprecated.</li>
  <li>Remove <a href="https://github.com/kubernetes/kubernetes/pull/137266">misleading <code class="language-plaintext highlighter-rouge">SuggestFor</code> entries from <code class="language-plaintext highlighter-rouge">kubectl wait</code></a> so that it is no longer suggested when users type <code class="language-plaintext highlighter-rouge">kubectl list</code> or <code class="language-plaintext highlighter-rouge">kubectl ps</code>.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137220">GetPCIeRootAttributeByPCIBusID</a> helper now accepts a <code class="language-plaintext highlighter-rouge">fs.ReadLinkFS</code> optional argument to be filesystem-independent.</li>
  <li>CRI API: A new field is added to the <a href="https://github.com/kubernetes/kubernetes/pull/137217">PullImageResponse message</a> - <code class="language-plaintext highlighter-rouge">image_id</code>.</li>
  <li>DRA DeviceTaintRules:  <a href="https://github.com/kubernetes/kubernetes/pull/137167">TimeAdded of the taint</a> is not only added automatically, it now also gets updated automatically when changing the effect.</li>
  <li>When <a href="https://github.com/kubernetes/kubernetes/pull/136973"><code class="language-plaintext highlighter-rouge">kubectl exec</code> or <code class="language-plaintext highlighter-rouge">kubectl logs</code></a> are run with a specified container name, and no container with that name is found, <code class="language-plaintext highlighter-rouge">kubectl</code> now lists the names of containers that would be valid to specify.</li>
  <li>Ensures <a href="https://github.com/kubernetes/kubernetes/pull/136966">single-container pod can restart</a> quickly with RestartAllContainers action.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136963">Preserve the logs of restarted containers</a> for containers restarted by feature RestartAllContainers.</li>
  <li>Add <a href="https://github.com/kubernetes/kubernetes/pull/136944">placement-based pod group scheduling algorithm</a> to scheduler. Its use is guarded by the TopologyAwareWorkloadScheduling feature gate.</li>
  <li>Add multiple conditions support to <a href="https://github.com/kubernetes/kubernetes/pull/136855">kubectl wait</a> command.</li>
  <li>kubelet: if the <a href="https://github.com/kubernetes/kubernetes/pull/136762"><code class="language-plaintext highlighter-rouge">--client-ca-file</code> is updated</a> while kubelet is running, the updated root certificates are now correctly used to advertise accepted authorities to TLS clients connecting to the kubelet endpoints. This behavior is guarded by the <code class="language-plaintext highlighter-rouge">ReloadKubeletClientCAFile</code> feature gate, which is enabled by default.</li>
  <li>Add the <a href="https://github.com/kubernetes/kubernetes/pull/136663"><code class="language-plaintext highlighter-rouge">timezone</code> field</a> to the cronjob describe output.</li>
  <li>Add <a href="https://github.com/kubernetes/kubernetes/pull/134997"><code class="language-plaintext highlighter-rouge">--detach-keys</code> flag to <code class="language-plaintext highlighter-rouge">kubectl attach</code> and <code class="language-plaintext highlighter-rouge">kubectl run</code></a>, allowing detach without terminating the container.</li>
</ul>

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

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137373">DRAAdminAccess</a> to GA</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137174">flagz API</a> to beta</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137173">statusz API</a> to beta</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137172">Mixed Version Proxy feature gate</a> to Beta</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136912">SELinuxChangePolicy &amp; SELinuxMountReadWriteOncePod</a> to GA</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136611">DRAConsumableCapacity</a> to Beta</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136924">DRAPrioritizedList</a> to GA</li>
</ul>

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

<ul>
  <li>Remove <a href="https://github.com/kubernetes/kubernetes/pull/136759">GuaranteedQoSPodCPUResize</a></li>
</ul>

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

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137474">go</a> to 1.26.1</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137456">go.mod</a> to go 1.26</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137080">go</a> to 1.26.0</li>
</ul>

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

<ul>
  <li><a href="https://github.com/coredns/coredns/releases/tag/v1.14.2"><strong>CoreDNS v1.14.2</strong></a>: introduces the new <code class="language-plaintext highlighter-rouge">proxyproto</code> plugin to support Proxy Protocol and preserve client IPs behind load balancers, improves DNS logging metadata, strengthens randomness for loop detection, and fixes issues including TLS+IPv6 forwarding, CNAME rewriting behavior, ACL bypass prevention, and a Kubernetes plugin crash. The release also updates the build to Go 1.26.1 with multiple upstream security fixes.</li>
  <li><a href="https://github.com/kubernetes/ingress-nginx/releases"><strong>ingress-nginx releases</strong></a>: <a href="https://github.com/kubernetes/ingress-nginx/releases/tag/controller-v1.15.0"><strong>controller v1.15.0</strong></a> adds improvements to template safety, annotation validation, SSL passthrough handling, and controller stability while updating dependencies and CI tooling; also <a href="https://github.com/kubernetes/ingress-nginx/releases/tag/controller-v1.14.4"><strong>controller v1.14.4</strong></a> provides backported fixes and dependency updates for the 1.14 branch. Corresponding Helm chart updates include <a href="https://github.com/kubernetes/ingress-nginx/releases/tag/helm-chart-4.15.0"><strong>helm-chart 4.15.0</strong></a>, <a href="https://github.com/kubernetes/ingress-nginx/releases/tag/helm-chart-4.14.4"><strong>4.14.4</strong></a>, and <a href="https://github.com/kubernetes/ingress-nginx/releases/tag/helm-chart-4.13.8"><strong>4.13.8</strong></a>, aligning chart packaging with their respective controller versions.</li>
  <li><a href="https://github.com/kubernetes/cloud-provider-alibaba-cloud/releases/tag/v2.13.0"><strong>cloud-provider-alibaba-cloud v2.13.0</strong></a>: adds support for extended TLS certificates on CLB and TCPSSL listeners, introduces cross-AZ forwarding for NLB by default, and improves ENI attachment handling to prevent failures affecting other pods. It also refines internal CLB creation logic by automatically selecting an available vSwitch when none is specified.</li>
  <li><a href="https://github.com/containerd/containerd/releases/tag/v2.2.2"><strong>containerd v2.2.2</strong></a>: delivers a patch release with CRI improvements such as better handling of legacy registry mirror configurations, fixes for encrypted image pulls and CNI cleanup after restarts, improved runtime behavior for bind mounts and AppArmor compatibility, and multiple stability fixes including error sanitization and memory metrics handling. The release also includes dependency updates across OpenTelemetry, OAuth2, and gRPC libraries.</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 Next Tuesday is the monthly New Contributor Orientation. Join at one of two times to learn all about starting your contribution journey.]]></summary></entry><entry><title type="html">Week Ending March 1, 2026</title><link href="https://lwkd.info/2026/20260305" rel="alternate" type="text/html" title="Week Ending March 1, 2026" /><published>2026-03-05T16:00:00+00:00</published><updated>2026-03-05T16:00:00+00:00</updated><id>https://lwkd.info/2026/2026-03-01-update</id><content type="html" xml:base="https://lwkd.info/2026/20260305"><![CDATA[<h2 id="developer-news">Developer News</h2>
<p>KubeCon Japan Regular CFP is open until 29 March 2026. Submit your proposal <a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-japan/program/cfp/">here</a>.</p>

<p>Don’t forget to <a href="https://register.linuxfoundation.org/kccnc-eu-maintainer-summit-2026 and view the schedule at https://maintainersummiteu2026.sched.com">register for Maintainer Summit EU 2026</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#code-freeze">Code &amp; Test Freeze</a>, 19th March 2026</strong></p>

<p>Code and Test Freeze for v1.36 is coming up. All feature work must be completed
and merged before the freeze. After this point, only critical bug fixes will be
considered, and approved exceptions will be required for any additional changes.</p>

<p>Out-of-band patch releases v1.35.2, v1.34.5, v1.33.9, and v1.32.13 were published
last week, built with Go 1.25.7 / 1.24.13 and including fixes for recent CVEs.</p>

<p>Additionally, Kubernetes <a href="https://github.com/kubernetes/kubernetes/releases/tag/v1.36.0-alpha.2">v1.36.0-alpha.2</a> is now live and built with Go 1.25.7.</p>

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

<p><a href="https://github.com/kubernetes/enhancements/tree/master/keps/sig-scheduling/5004-dra-extended-resource">KEP-5004: DRA: Handle extended resource requests via DRA Driver</a></p>

<p>Extended resources offer a simple and concise way to represent resource capacity and consumption, whereas Dynamic Resource Allocation (DRA) provides greater flexibility and expressiveness at the cost of added complexity. This KEP proposes a mechanism for cluster administrators to advertise dynamic resources defined in ResourceSlice as extended resources through DeviceClass. It allows application developers and operators to continue requesting resources using the familiar extended resource model. At the same time, it supports dynamic allocation for requests made via either extended resources or DRA resource claims. The proposal ensures that existing applications can run without modification. It also enables both application teams and cluster administrators to adopt DRA gradually, including scenarios where device plugins and DRA drivers coexist on different nodes for the same hardware.</p>

<p>This KEP graduated to alpha in v1.35.</p>

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

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137272">Rename <code class="language-plaintext highlighter-rouge">AllowlistEntry.Name</code></a> to <code class="language-plaintext highlighter-rouge">AllowlistEntry.Command</code> in the credential plugin allowlist.</li>
  <li>Add the ability for <a href="https://github.com/kubernetes/kubernetes/pull/137254">statefulset controller to read its own pod and pvc writes</a></li>
  <li>kubeadm: Do not add <a href="https://github.com/kubernetes/kubernetes/pull/137251">learner member to etcd client endpoints</a></li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137212">Prevent the replicaset controller from spuriously reconciling</a> while its own writes have not been read.</li>
  <li>Add the <a href="https://github.com/kubernetes/kubernetes/pull/137210">ability for the job controller to read its own writes</a></li>
  <li>Allow <a href="https://github.com/kubernetes/kubernetes/pull/137157">kube-apiserver to recover</a> from an accidentally made connection to a wrong server.</li>
  <li>Fixed <a href="https://github.com/kubernetes/kubernetes/pull/137147">apiserver startup failure</a> during upgrade when MultiCIDRServiceAllocator is enabled and the cluster has a large number of namespaces.</li>
  <li>Fixed /metrics/resource container_swap_usage_bytes to <a href="https://github.com/kubernetes/kubernetes/pull/137098">report the correct container swap usage</a>.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137065">Adds alpha metrics <code class="language-plaintext highlighter-rouge">apiserver_peer_proxy_errors_total</code> and <code class="language-plaintext highlighter-rouge">apiserver_peer_discovery_sync_errors_total</code> to apiserver</a> to track errors encountered in peer proxying and peer discovery.</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137021">Instrument /flagz and /statusz</a> endpoints with apiserver request metrics (apiserver_request_total, apiserver_request_duration_seconds), with group and version labels reflecting the content-negotiated API version.</li>
</ul>

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

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137233">customUnique,eachKey,ifDisabled,ifEnabled,immutable,unique,update</a> to Beta</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137053">StrictIPCIDRValidation</a> to Beta</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/136230">MutableCSINodeAllocatableCount</a> to GA</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137173">statusz API</a> to Beta</li>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137172">Mixed Version Proxy (UnknownVersionInteroperabilityProxy)</a> to Beta</li>
</ul>

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

<ul>
  <li><a href="https://github.com/kubernetes/kubernetes/pull/137225">etcd sdk</a> to v3.6.8</li>
</ul>

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

<ul>
  <li><a href="https://github.com/prometheus/prometheus/releases/tag/v3.10.0"><strong>Prometheus v3.10.0</strong></a>: introduces a new distroless Docker image variant for improved security, adds PromQL <code class="language-plaintext highlighter-rouge">fill()</code> modifiers and OpenAPI 3.2 API specification support, improves service discovery modularity via build tags, and delivers multiple performance improvements and bug fixes across PromQL, TSDB, OTLP ingestion, and the web UI.</li>
  <li><a href="https://github.com/cri-o/cri-o/releases"><strong>CRI-O patch releases</strong></a>: <a href="https://github.com/cri-o/cri-o/releases/tag/v1.35.1"><strong>v1.35.1</strong></a> adds TLS configuration options for streaming and metrics servers and fixes systemd container cgroup permission issues with user namespaces; also <a href="https://github.com/cri-o/cri-o/releases/tag/v1.34.6"><strong>v1.34.6</strong></a> and <a href="https://github.com/cri-o/cri-o/releases/tag/v1.33.10"><strong>v1.33.10</strong></a> provide maintenance updates and bug fixes across supported release branches.</li>
  <li><a href="https://github.com/kubernetes/cloud-provider-aws/releases/tag/v1.32.6"><strong>cloud-provider-aws v1.32.6</strong></a>: updates the AWS Go SDK and dependencies for CVE fixes, adds support for a new AWS partition in the credential provider, upgrades Go to v1.24.9, and includes improvements to e2e load balancer test scenarios and debugging.</li>
  <li><a href="https://github.com/kubernetes/autoscaler/releases/tag/cluster-autoscaler-chart-9.56.0"><strong>cluster-autoscaler-chart v9.56.0</strong></a>: publishes an updated Helm chart for deploying Cluster Autoscaler aligned with the latest autoscaler packaging.</li>
  <li><a href="https://github.com/kubernetes/autoscaler/releases/tag/vertical-pod-autoscaler-chart-0.8.1"><strong>vertical-pod-autoscaler-chart v0.8.1</strong></a>: updates the Helm chart used to deploy Vertical Pod Autoscaler components in Kubernetes clusters.</li>
  <li><a href="https://github.com/kubernetes-sigs/kubebuilder/releases/tag/v4.13.0"><strong>kubebuilder v4.13.0</strong></a>: adds Helm plugin support for overriding manager environment variables via CLI flags, upgrades cert-manager used in e2e tests, fixes lint execution and Helm chart templating issues, resolves CLI plugin flag conflicts, and standardizes generated file permissions and YAML formatting.</li>
</ul>

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

<p>LMKTFY: Thanks to @Prasanth Baskar for implementing dedicated web pages for each KEP, bringing together the rendered KEP, tracking issue, and related links in one place to make enhancements easier to navigate and track.
*</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Developer News KubeCon Japan Regular CFP is open until 29 March 2026. Submit your proposal here.]]></summary></entry></feed>