LWKD: Week Ending June 2, 2024
Last Week In Kubernetes Development
Week of 2024-06-02
Developer News
Kubernetes turns 10 this week! The KuberTENes Birthday Bash is happening on 6th June all across the world. Attend an event next to you to join in on the celebrations.
Carlos Santana started a Google document to collect KuberTENes trivia and timeline information. Help contribute to the doc or feel free to use it for organizing a KuberTENes party where you live!
Release Schedule
Next Deadline: Production Readiness Freeze, June 6th, 2024
We're approaching the enhancements freeze deadline, with only two more weeks left. We have a total of 49 KEPs opted-in for the v1.31 release as of now. Don't forget to talk to your SIG leads to get a lead-opted-in label if you're planning to get your KEP shipped in v1.31. The production readiness freeze is coming up on 6th, one week before the enhancements freeze. Make sure that your KEP has a completed PRR questionnaire before the 6th to ensure enough time for the PRR team to review all the KEPs.
Featured PRs
#124685: Make kubeadm independent from crictl
This PR proposes making kubeadm independent of the crictl
binary.
This simplifies kubeadm by eliminating the need for an extra tool and offers more flexibility by allowing users to choose their preferred CRI implementation. Kubeadm will use a built-in library (cri-client) to interact with the Container Runtime Interface (CRI) instead of relying on crictl. While crictl will still be available for one more kubeadm release (v1.31), it won't be installed by default anymore. Users who need crictl after v1.31 will have to update their scripts to install it manually. This improvement streamlines kubeadm and offers more control over CRI interactions.
KEP of the Week
KEP 4580: Deprecate and remove Kubelet RunOnce mode
This KEP proposes to deprecate and remove kubelet's RunOnce mode. RunOnce mode does not support any of the newer Pod features like init containers and the Pod lifecycle for RunOnce mode is not well defined. Podman addresses the same use case in a more well-supported way. RunOnce mode also doesn't work when the kubelet is running in systemd mode.
This was first brought up way back in 2017, and is finally on track to being deprecated in v1.31.
Other Merges
Restore scheduler performance on big clusters to pre-1.30 speeds, by changing NodeToStatusMap; this will break existing PostFilter plugins
You can `make` a kube-proxy image on Windows
LoadBalancer will check new fields for status changes
Add a generic storage provider for future generic control planes
Audit log APF queue latency
Scheduler has livez and readyz endpoints
kubeadm uses the HealthzBindAddress, not localhost, and stops hiding unsupported klog flags
Handle filepaths with spaces passed to commands on Windows
Test Improvements: Add ability to set feature gates generically, container name completion, CBOR/JSON tests
Promotions
Version Updates
Subprojects and Dependency Updates
cloud-provider-aws v1.30.1: ensure that addresses are added in network device index order. Also v1.29.3, v1.28.6, v1.27.7, v1.26.12
kompose v1.34.0: expose container to host only with labels
etcd v3.5.14: add support for AllowedCN and AllowedHostname through config file
gRPC v1.64.1: fix use-after-free issue. Also v1.63.1
CRI-O v1.30.2: fix CVE-2024-5154. Also v1.29.5 and v1.28.7