Last Week In Kubernetes Development

Subscribe
Archives
June 4, 2024

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

  • DevicePluginCDIDevices to GA

  • ServiceAccountTokenNodeBinding to beta

Version Updates

  • CSI Spec to v1.9.0

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

    Don't miss what's next. Subscribe to Last Week In Kubernetes Development:
    This email brought to you by Buttondown, the easiest way to start and grow your newsletter.