Last Week in Kubernetes Development: July 22nd, 2018

lwkd
development

#1

You can also read LWKD on its website.

Community Meeting Summary

The community meeting started with a demo of microk8s, a tool to install and test Kubernetes using Snaps. While still a bit beta, it can be a really fast way to try out Kubernetes if you’re on Linux, and they plan to offer beta-testing of releases in the future. It handles Kubernetes commands by namespacing them as microk8s.command.

SIG-Big-Data’s Anirudh Ramanathan and Yinan Li brough us up to date on their efforts to unify Kuberenetes and the Apache Spark stack. They’ve been adding features to Spark and they maintain an operator. They’re also working on Airflow and HDFS support.

Quinton Hoole delivered SIG-Multicluster status. Cluster Federation v2 has come a ways, now having feature parity with v1 (alpha). It uses CRDs for each control plane, a cluster registry, and high-level controllers for the meta-cluster. Federated status checks, read access, affinity, and RBAC are still TBD.

Finally, Bobby Salamat explained SIG-Scheduling’s current work. For 1.11, they moved Priority and Preemption to beta, and moved Daemonset scheduling into the scheduler (alpha feature). For 1.12, they will be focusing on performance measures like the equivalence cache. Taint by Condition and Taint-based Eviction will be moving to beta, and they want to get the rescheduler out of the incubator and into main Kubernetes.

Release Schedule

Next Deadline: Feature Freeze, July 31st

Features collection for 1.12 is underway.

1.11.1 came out last week. In addition to the fixes, this is significant because it’s the first update release pushed by a non-Googler. The Release Team is working to make all release functions doable without Google staff privileges.

Featured PRs

#66041: Remove manually written typed registries

In an effort to keep registry patterns more unified, this cleans up several of the type-specific registry systems, in favor of the underlying genericregistry APIs. This also removes the older APIs to prevent confusion.

#64611: Move runtime details into ContainerRuntime

As Docker has been slowly getting displaced as the primary runtime driver, a lot of if docker logic has crept into the code. This adds a new ContainerRuntime API to abstract out common operations and make it easier to add/tweak CRI backends in the future.

#66242: Add initial availability zones support for Azure nodes

A nice step on the road towards improved Azure support, nodes will now automatically apply a failure-domain.beta.kubernetes.io/zone label with the Azure region and zone ID for the node. You can check out the Azure AZ KEP for the full roadmap.

#66413: Only build generators for building platform

A few bugs had snuck into the build system when doing cross-platform builds. Now when doing a cross-platform build (e.g. build/run.sh make kubectl KUBE_BUILD_PLATFORMS=darwin/amd64) the system will ensure the code generates tools for your local platform, not the build target. This
is also a nice speedup for full make cross builds.

Other Merges

Deprecated

Version Updates