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 January 27, 2019

Community Meeting Summary

We kicked off the community meeting with a demo of tracing pod startup, work done by intern Sam Naser. It utilizes a distributed tracing approach using OpenCensus libaries that is compatible with Zipkin. In the future, they plan downward API exposure and instrumenting more objects; see the KEP and repo.

Dawn Chen went over SIG-Node’s work, including a revision of the SIG’s scope of responsibility, and adding RuntimeClass, a more efficient node heartbeat, and better Windows support. OS/Arch labels and HugePages support are now GA, and they’re working on Node-level isolation such as PID management.

For SIG-API-Machinery, David Eads mentioned their work in 1.13 on CRD Webhook conversion (please test!) and dynamic typed informers for dynamic controllers. For 1.14, they’re hoping to get admission webhooks GA and an alpha release of server side apply. They’re also deprecating swagger.json, as well as the alpha initializers.

Release Schedule

Next Deadline: Enhancements Freeze, Tuesday January 29th

For this Enhancements deadline, all features are required to be related to a KEP. Currently there are 41 listed enhancements, including 19 alpha features, 11 beta, and 6 GA ones. Also, currently the list of CI signal jobs is being improved by applying the release-blocking criteria and finding owners for all jobs.

Patch updates for 1.13 and 1.11 came out last week.

#72972: Remove use of alpha initializers

Starting off this week with a big one, Initializers have been mostly removed. While the actual object field will follow the normal deprecation and removal cycle (despite being an alpha feature), all other implementation details have been removed. While the feature was undeniably useful, the design never reached a point that the API SIG was happy with. With MutatingWebhooks now available and dynamically configurable, there are better options for things like sidecar injection and initial manipulation. It is recommended that you remove all references to this feature from your code ASAP, and use of InitializerConfiguration objects will block future upgrades.

All in-tree code has been migrated to use other systems for intialization management, though in the specific case of Cinder volume labels it does require activating a new admission controller.

If you have any questions about how to migrate your existing Initializers to webhooks or other techniques, please come ask in Slack.

#73138: Do not move deletionTimestamp to the future

On the flip side of initializers, this fixes a long-standing bug with Finalizers when making multiple DELETE calls while Finalizers are still running. This fix ensures only the first delete timestamp is used, which simplifies managing finalizers in custom controllers.

test-infra#10851: install versioned kubectl in kubekins-e2e

Another simple one; previously in our end-to-end integration tests we were using the latest build of kubectl no matter what version of Kubernetes was being tested. This ensures all e2e tests always use the matching version of kubectl, which should improve test accuracy and relevance.

community#10795: Refactor docs home page

A nice facelift for kubernetes.io/docs/home/, the landing page for our documentation. Hopefully this new page will make it easier to find what you’re looking for!

Other Merges


Version Updates

The biggest change is the Go version updates in order to patch a cryptography security hole. Expect this to show up in patch releases soon.

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.