LWKD logo

Last Week in Kubernetes Development

Stay up-to-date on Kubernetes development in 15 minutes a week.


View LWKD on GitHub

Week Ending August 8, 2021

Developer News

Kubernetes 1.22 is out!. In addition to SecComp Profiles, Memory QoS, swap support, credential plugins, and SSA graduation, 1.22 breaks a few things you might have been relying on. Particularly, check out the [deprecated (mostly beta) APIs](https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-22. Get all the features and more in the Changelog.

The Infrastructure Working Group is becoming SIG-Infrastructure to better separate their work from Testing. As a major accomplishment, our CI builds are now served entirely from community-controlled infra, a task Infra has been working on since 1.17. So, now “I can’t help with infra because I’m not a Googler” is no longer a limitation!

The Code of Conduct Committee is looking for nominees to serve for the next year.

Michael Taufen would like your feedback on his draft KEP for Image Pull Authentication.

Release Schedule

Next Deadline: 1.23 Cycle Begins, August 23

We are currently in the inter-release limbo period. Right now, the Release Team is picking shadows.

The cherry-pick deadline for the August patch releases was moved to August 16th, so you still have time to get those fixes in.

#103564: ExtractItems for unstructured apply configurations

With Server Side Apply going GA in 1.22, we got an API for working with live data alongside the Apply builder syntax: extractors. For the typed APIs, you give the extractor a struct you just fetched from the API along with one of the field managers from the metadata (presumably the one for your controller but I’m not the boss of you) and it would give you back an Apply builder with only the fields marked as owned. Then you can layer in more data even without an independent from-scratch representation being available. This PR adds similar tech for Unstructureds. This allows using this kind of data flow with custom types which don’t yet have apply builders available.

discoveryClient := discovery.NewDiscoveryClientForConfigOrDie(clientConfig)
extractor, err := metav1ac.NewUnstructuredExtractor(discoveryClient)
extracted, err := extractor.Extract(obj, "mycontroller")

This enables better integration with Server Side Apply for several kinds of operators previously not well handled, such as when working with arbitrary object references.

#103830: Introduce event clocks based on k8s.io/utils/clock

The API server has a new clock in town! The new EventClock API provides a more testable approach to delaying calls. Also be sure to check out the follow-up PR which improved some interface and struct names. If you’re working on time-dependent code in kube-apiserver or beyond, EventClock may help ensure less brittle code.

Other Merges



Version Updates

Last Week In Kubernetes Development (LWKD) is a product of multiple contributors participating in Kubernetes SIG Contributor Experience. All original content is licensed Creative Commons Share-Alike, although linked content and images may be differently licensed. LWKD does collect some information on readers, see our privacy notice for details.

You may contribute to LWKD by submitting pull requests or issues on the LWKD github repo.