Last Week in Kubernetes Development

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


View LWKD on GitHub

Week Ending July 15th, 2018

Community Meeting Summary

Unfortunately the demo for this week had to be rescheduled due to airplane-y conflicts. We skipped directly to the update from Tim Pepper, the 1.12 release lead. You can check out the release schedule and team in the sig-release repository. The shorter code freeze/slush from 1.11 feels like it was an overall success, so the plan is to do that again, as long as CI stays clean.

SIG-release would also requests that as feature work for 1.12 (and beyond) is progressing, do your best to get rough drafts of test cases and documentation in place earlier than we have been doing so far so those teams can spread their workload out a bit more over the release cycle.

A new segment for the community meeting made its debut: the KEP (Kubernetes Enhancement Proposal) of the Week. This week we covered #2287: KEP for garbage collection from Janet Kuo. This would introduce a TTL mechanism to the garbage collector and allow specifying policies about which objects should be GC’d and when. The eventual goal is to improve support for continuous deployment-style environments which can otherwise build up a backlog of unused ancillary objects like ConfigMaps and Secrets. If you’re interested in contributing or commenting on the KEP, you can join in on the Pull Request or in the next SIG-api-machinery meeting on Wednesday, July 18th.

You can, as always, find the full recording on YouTube.

Release Schedule

Next Milestone: 1.12.0-alpha.1 release, July 18th

1.12 is getting under way more formally since last week. The release notes draft is in progress, and features flying left and right. If you’ve got open issues in the features repository, make sure to update them if you know how things are planned to shake out for this release.

A few key dates for the cycle:

Check out the full release schedule for more info.

A few more late-breaking bugs have held back 1.11.1, but it’s still in the pipeline and will hopefully get finalized shortly.

Feature Work

#65737: API linter framework and namesMatch API rule

Kube-openapi has added an API definition linter (static analysis) system and this is now being enforced on all APIs. So far there is only one rule enabled:

Go field names must be CamelCase. JSON field names must be camelCase. Other than capitalization of the initial letter, the two should almost always match. No underscores nor dashes in either.

If you have ideas for future linter rules, please contact the api-machinery SIG.

#65745: Enable adaptive scoring in ImageLocalityPriority

An improvement to the node scoring system for pod scheduling, the new, adaptive algorithm takes into account both the size of the images already available on each node (like the old algorithm) and also how common the image is on the available nodes. This will hopefully help improve performance during cold boot situations where a large number of pods can be scheduled in the same place due to image locality.

#65787: kubeadm: Use separate YAML docs for the kubelet and kube-proxy ComponentConfigs

As part of the push towards v1beta for kubeadm’s configuration data, the kubelet and kube-proxy configuration data are now split into two files, though the alpha2 style of including both in the same file is still supported.

#66039: Disable initializers by default

The admission controller for Initializers has been removed from the list of default controllers. This matches the fact that the Initializer API itself is disabled by default as an alpha feature. It can be re-enabled via normal admission controller configuration.

#66140: Allow modifying current context with kubectl set-context

kubectl config set-context can now set attributes of the current context, like the current namespace, by passing --current instead of a specific context name. The allows quickly updating the parameters of the current context like switching namespaces.

Other Improvements

Bug Fixes

Version Updates

Last Week In Kubernetes Development (LWKD) is a product of some members of the Kubernetes project, but is not an official publication of the Kubernetes project or the CNCF. 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.