LWKD: Week Ending December 24, 2023
Last Week in Kubernetes Development
Week Ending December 24, 2023
Developer News
SIG Release updated its roadmap for 2024 onwards. If you want to contribute, just reach out to SIG Release using the K8s Slack (#sig-release) or comment on any of the open GitHub issues.
Release Schedule
Next Deadline: 1.30 Cycle Begins, January 2024
We are in the holiday period between releases; dates for 1.30 have not been published yet. If you want to become a part of the Release team, apply soon! Shadow applications are open until Wednesday, January 3rd 2024 and will be reviewed until January 12th 2024. Use this form to apply.
Featured PRs
k/website #44478: Add shortcode to generate Feature gates tables
Major work has been done to facilitate the generation of the feature gates reference in the Kubernetes website from information stored in feature description files. Custom Hugo shortcodes for generating feature gates tables have been added in this PR. The new feature-gate-table
shortcode generates feature gate tables for features in Alpha or Beta, graduated or deprecated features, as well as feature gates that are removed. The shortcode also validates the name of the stage and the format of the version in the feature description file. This PR builds on top of #41793 Switch to per-file feature gate descriptions, which added a shortcode to render feature gate descriptions.
If you're working on a change that's behind a feature gate, read the updated advice about how to document the feature gate or update it for a graduation.
KEP of the Week
KEP 4020: Unknown Version Interoperability Proxy
This KEP proposes to solve an issue that arises when multiple API servers are running in a cluster, and specifically when they are not all serving the same set of API versions. That situation can happen when a cluster upgrade / downgrade is happening, or during the rollout of a a runtime configuration change. All the different API servers might not be able to serve all the resources in all the different versions. This proposed filter will proxy clients to an API server that is capable of handling the request from the client. The KEP proposes to use the existing StorageVersion
information in each API server's discovery document to figure out which group, version and resource types an API server can serve. If the API server doesn't have the requested group/version/resource locally, the request will be proxied to one of the API servers listed in the ServerStorageVersion
data.
This KEP reached the alpha stage as part of the v1.28 release.
Other Merges
- Replace
k8s.io/utils/integer
functions with Golang's built-in max and min functions. - Clarification to warning around duplicate env var entries to mention that duplicates can be dropped when using apply.
- Clean up of unused HealthcheckType.
- Scheduler First Fit has been fixed after it was reverted due to a flaky test.
- Scheduler configuration validation gets a more understandable error message.
- kubectl to initialize the customizable attachFunc when the
--attach
flag is passed to fix a bug that was causing the initialization to be skipped. - Update to the help message of the interactive flag in kubectl delete.
- GA feature gates being removed: APISelfSubjectReview
Version Updates
Subprojects and Dependency Updates
- cri-o/cri-o 1.29.0 and 1.27.2 released. 1.29.0 introduces image store to crio-info, adds support for CPU load balancing annotation for cgroupv2. 1.27.2 fixes bugs with cpuset loadbalancing, CRI-O overriding Bidirectional mount in favor of a HostToContainer if the mount contained the host's container storage
- kubernetes/kops v1.28.2 with updates to Go version, HPA status ignore when applying addons.