LWKD: Week Ending May 25, 2025
Week Ending May 25, 2025
Developer News
The Program Committee is now accepting applications for the Maintainer Summit North America 2025. Share your interest in joining the committee before Monday, July 7th.
Release Schedule
Next Deadline: PRR Freeze, June 12th
The Release Cycle for 1.34 has started, and the release team is actively collecting enhancements. SIG Leads should discuss enhancements and add the lead-opted-in
label for KEPs going into v1.34.
Featured PRs
131842: Add metrics for compatibility version
This PR adds alpha metrics for binary, emulation, and minimum compatibility versions in componentGlobalsRegistry
, exposed via Prometheus in kube-apiserver, scheduler, and controller-manager for observability of version negotiation. It introduces an AddMetrics method that publishes the binary version, emulation version, and minimum compatibility version of each component as Prometheus gauge metrics. Users can now monitor version negotiation for kube-apiserver, scheduler, and controller-manager using these metrics.
128748: feat: introduce pInfo.UnschedulableCount to make the backoff calculation more appropriate
This PR updates the scheduler to separate scheduling failures caused by plugin rejections from those caused by internal errors. It introduces UnschedulableCount
to track only plugin-based rejections, ensuring that transient errors like API failures or network issues do not increase backoff time unfairly. This change improves scheduling fairness and responsiveness under cluster instability.
129983: feature(scheduler): Customizable pod selection and ordering in DefaultPreemption plugin
This PR introduces support for customizing pod selection and ordering in the DefaultPreemption plugin; It adds optional EligiblePods and OrderedPods function hooks, allowing scheduler integrations to override the default behavior without reimplementing the plugin. This enables more flexible preemption strategies while maintaining the existing plugin interface.
131677: [Kubeadm]: Add support for ECDSA-P384 encryption algorithm
This PR adds support for the EncryptionAlgorithmECDSAP384
in kubeadm API types; Users can now choose ECDSA-P384
for generating PKI
assets like CA and component certificates during kubeadm init; Implemented key generation logic for ECDSA P-384 keys in pkiutil (using elliptic.P384()). This ensures the algorithm is handled correctly across pkiutil
and cluster configuration paths.
KEP of the Week
KEP 4369: Allow almost all printable ASCII characters in environment variables
This enhancement allowed all printable ASCII characters (with ASCII codes 32–126), except "="
, to be used in environment variable names. Previously, Kubernetes imposed restrictions that could prevent certain applications from functioning as intended, especially when users couldn’t control the variable names. By lifting these constraints, the change improved compatibility with a broader range of applications and removed an adoption barrier, aligning Kubernetes behaviour more closely with real-world usage patterns
This KEP is tracked for beta in v1.34.
Other Merges
- automatic_reloads of authz config metrics to beta
- Pod backoff to be completely skipped when PodMaxBackoffDuration kube-scheduler option is set to zero
- Shorthand for --output flag in kubectl explain which was accidentally deleted has been added back
- Kubernetes is now built using Go 1.24.3
- References to group resource in metrics unified
- e2e: Shadowed error fixed in reboot test
- Filter integration tests added for NodeAffinity plugin
- AuthenticationConfiguration type has been promoted to apiserver.config.k8s.io/v1
- Volumes on nodes to not be expanded if controller expansion is finished
Promotions
- QueueingHint to GA
- kuberc to beta
Version Updates
- system-validators to v1.10.1
- etcd to v3.6.0
- Go for publishing bot rules to 1.23.9
Subprojects and Dependency Updates
- minikube v1.36.0 delivers significantly faster vfkit networking on macOS with the
--network vmnet-shared
option, supports Kubernetes v1.33.1, enables addon configuration via a dedicated config file, and includes additional improvements - vertical-pod-autoscaler v1.4.0 is out, with alpha support for in-place pod resource updates via the
InPlaceOrRecreate
Feature Gate, improved resource tracking from pod status, options for global maximum resource limits, and a set of bug fixes and dependency updates - kubespray v2.28.0 is out with a bunch of version updates. Krew installation support is removed.
Shoutouts
No shoutouts this week. Want to thank someone for special efforts to improve Kubernetes? Tag them in the #shoutouts channel.