Week Ending January 13th, 2019

Community Meeting Summary

Last week’s community meeting started with Ahmet Alp Balkan introducing Krew, a plugin manager for kubectl. Plugins for kubectl have been stable since 1.12, and Krew solves discoverability, installation, and updating.

Aaron Crickenberger explained Project Boards to contributors and gave some tips on using them. SIG Testing is figuring out how to add automation around Project Boards.

Klaus Ma (SIG-Scheduling) detailed his Coscheduling KEP, which handles services where all of the pods need to start (and restart), or none.

Speaking of KEPs, Stephen Augustus gave the SIG-PM update. They’re updating their charter, and expanding and detailing KEPs, including adding some tools. The SIG-Autoscaling status, from Marcin Wielgus, mentioned their work on faster HPA scaling, fixing pod priorities, and adding autoscaler support for the Alibaba Cloud. Bowei Du talked about work in progress in SIG-Network, such as IPv6 and SCTP support, Custom DNS policy, and node-local DNS caching. This year, they plan to tackle dual stack networking, an Ingress overhaul, node-local services, and multicast and Windows support. They could use some help, so consider joining the SIG.

The Infra team has switched to automated Github team management using peribolos. They’re also purging and rebuilding the Milestone Maintainers team.

Release Schedule

Next Deadline: Finalize Release Team, January 18th

As a major change for the 1.14 development cycle, Release Lead Crickenberger wants every enhancement to be linked to a KEP. There will also be no code slush period this release cycle. The Enhancement/KEP deadline will be January 29th.

Update version 1.13.2 was released last Thursday, and 1.12.5 will be cut this Thursday (Jan. 17th).

Featured PRs

In contrast to the dearth of the last two weeks, this week we had a ton of great new code land!

Unfortunately some late-breaking UX concerns (and potential security questions) have come up for the integration between Kustomize and kubectl apply , so the integration is being reverted for now while the UX is improved. There is still a chance it may land in 1.14 but the timeline will become clearer over the next few weeks.

A new top-level repo break out, this time to collect the code related to managing “components”. In this context, a component is any daemon or CLI tool which uses the shared Kubernetes configuration files/formats, such as kubectl, kube-apiserver, etc. By further standardizing these components, it will be easier to add shared behavior like metrics integration. You can find more information on this project in KEP 32. If you’re interested in helping out with the future of this emerging Component standard, there is also a working group being formed.

A new feature in client-go’s leader election management code, allowing a voluntary revocation of leader status. This is mostly aimed at smoother handling for upgrades of services that use the leader election system. When a leader process is doing a clean shutdown, it can cancel the leader hold and force a new election immediately rather than everyone else waiting for the failover timeout.

There is also now a Prometheus metric to indicate which instance is the leader, which can be helpful when correlating metrics and logs or otherwise poking around for problems.

Validation and feature gates

A large number of PRs (#72752, #72739, #72714, #72698, #72695, #72686, #72666, #72664, #72655) were merged to change the behavior of feature-gated object fields. Previously specifying a non-default value while the gate was disabled would result in an object validation error. Now the fields are silently discarded, forcing the default behavior. This makes it easier to use these new features in shared manifests (or Helm charts, etc) without causing a headache for complex feature gate configurations.

A new /auto-cc command has been added to Prow to re-trigger the automatic code review requester, Blunderbuss, in the same way as it looks at new PRs. This is useful for reviving an old PR where the OWNERS file may have changed significantly since the PR was opened and you want to call a do-over on automatically pinging the subsystem owners for a review.

Still in the early stages of formation, the new k8s-infra working group will spearhead the efforts to move critical project infrastructure from (mostly) Google ownership to the CNCF and community management. Still much work to do, but great to see our project structure helping to define the transition and keep it smooth for everyone!

Other Merges

Deprecated

DenyEscalatingExec and DenyExecOnPrivileged admission plugins are now deprecated and will be removed in 1.18

factory.NewConfigFactory is now simply scheduler.New

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.