Since this isn't a particularly good place for it, I've moved Last Week in Kubernetes Development to its new home at lwkd.info. That includes this week's edition of LWKD.
Part of the idea of the move is to be able to accept contributions to the publication. Since it's on Github pages, I can accept them through the LWKD git repo. I particularly could use some help setting up an RSS feed in some way that doesn't require restructuring the site around a static site generator.
Also, a guest writer for next week would be welcome; otherwise the next issue is likely to be light due to personal travel.
Monday, January 29, 2018
Monday, January 22, 2018
Last Week in Kubernetes Development: Week ending January 21
Community Meeting Summary
The demo for this week's meeting was Kubernetes running on Docker For Mac. The Docker.com folks have been hard at work enabling this, and the demo now looks pretty polished. Developers with Mac desktops should be able to easily use Kubernetes with their existing Docker for Mac workflows.Jaice DuMars explained the delay of the alpha release and gave a 1.10 stats update (see below). Dan Williams updated folks on SIG-Network, who have been making a lot of changes, including adding IPv6 support. Phillip Wittrock updated everyone on what the Steering Committee is currently working on, especially creating template SIG charters so that all SIGs can create their own charters. If you have opinions about the organization and leadership of your SIG, please take the survey on SIG governance.
Kubernetes will be participating in Google Summer of Code with the CNCF this year. Please contact Ihor Dvoretskyi if you are interested in mentoring or know a student. SIG Intros and Deep Dives at KubeCon Europe will be announced soon. The project will have another "Meet Our Contributors" on February 7th, this one focused on helping out new contributors (contact Paris Pittman to participate).
The format for the Community meeting will also be changing slightly in the future. SIGs will be scheduled for updates per release cycle instead of ad hoc, and demo speakers will be asked to rehearse before the meeting.
Release Schedule
This was week 3 of version 1.10 development. This week should have included an early alpha release, mainly as a dry run for release packaging. However, it's been delayed because Branch Manager Caleb Miles had a painful bike accident and has been offline. An alpha release is expected this week.Feature Freeze, which was supposed to be January 22nd, has also been delayed by one week because the Features Lead is still waiting for status clarification on some features from several SIGs. Final Feature Freeze deadline will now be on the 29th. Many SIGs have updated their features, though, and Ihor has created the Feature Tracking Board for version 1.10.
Feature Work
While 148 patches were merged last week, most of them were minor bug fixes (including at least ten for GCE support), cherry-picks for copying fixes across releases, typo fixes, and some doc and release note corrections. Among the interesting feature work was:- Kubeadm now supports overriding flags for the api-server, controller, and scheduler during
kubeadm init
. - RBAC now returns reasons for allowed authorizations, making them auditable.
- The way that Secrets, ConfigMaps, and the downwardAPI update their data has been changed. If you work with one of these features, you may want to check your code against the refactor.
- The api-server now supports custom cipher suites for connections.
- The api-server and controller now run in privileged containers, enabling correct installation on OpenStack.
- The kubelet and controller manager have been refactored to use cobra CLI command communication, which is part of ongoing work to clean up component configuration in Kubernetes and HyperKube.
- CRDs can now be created using YAML as well as JSON.
Deprecated
- Dockershim no longer re-implements the CRI API, and instead communicates with the Kubelet using pure gRPC.
Version Updates
- kube-dns for Kubeadm is now 1.14.8
Other Merges
- We now have automated tests using the vSphere Cloud Provider simulator
- The implicit disabling of admission plugins that are not in the enablement list for kube-apiserver has been restored.
- A major issue with using custom Admission Control config files has been fixed.
- Keepalives for the etcd server have been adjusted so that they actually close the socket if the client can't connect.
- The Pod describer now includes HostPort in its output.
Graph of the Week
This week's graph, brought to you by Jorge Castro, is Approvers and the Approvers Histogram This graph shows you the number of pull request approvals in each repository, and the accompanying histogram shows you who did those approvals. Looks like @cblecker is our leading approver for last month.
Monday, January 15, 2018
Last Week in Kubernetes: Week ending January 14th
With several hundred active contributors, it's pretty hard to keep track of Kubernetes development. It's hard for me, and I'm paid to keep track; I can't imagine that anyone else can do it, even if they contribute to Kubernetes.
What follows is an experimental publication. I'm thinking of doing a development summary, every week or so, of what's happened in new features, deprecations, the community meeting, and more. Tell me if this is useful to you. If it is, I'll look at finding an official place to publish it where maybe other community members can contribute.
The community meeting was dominated by a discussion around whether all repos in the kubernetes namespace should be a part of the same automation, particularly merge automation. Aaron Crickenberger (spiffxp) has been offering this to other repos in the Kubernetes namespace, but some teams, particularly Helm, are concerned about unexpected changes this might cause. One goal of getting all repos on the same automation is to retire mungegithub.
Jacob Pavlik demonstrated the KQueen cluster manager. Jaice DuMars went over release 1.10, which is in week 2 of 12 and will go into Feature Freeze on January 22nd, so get your features in! And SIG Azure and SIG Node made reports.
Kubelets can now be run in containers, allowing for a completely containerized Kubernetes install. Such installs are now passing e2e tests.
Support for raw block devices as persistent volumes moved ahead with the merge of iSCSI support for block volumes.
sig-cluster-lifecycle is gradually deprecating the /cluster directory in favor of having these cluster setup tools maintained outside of kubernetes/kubernetes. In 1.10, that will include removing the windows/, photon-controller/, libvirt-coreos/, and gce/container-linux/ subdirectories, with more to be removed in future releases.
What follows is an experimental publication. I'm thinking of doing a development summary, every week or so, of what's happened in new features, deprecations, the community meeting, and more. Tell me if this is useful to you. If it is, I'll look at finding an official place to publish it where maybe other community members can contribute.
Last Week in Kubernetes: Week ending January 14, 2017
Community Meeting Summary
The community meeting was dominated by a discussion around whether all repos in the kubernetes namespace should be a part of the same automation, particularly merge automation. Aaron Crickenberger (spiffxp) has been offering this to other repos in the Kubernetes namespace, but some teams, particularly Helm, are concerned about unexpected changes this might cause. One goal of getting all repos on the same automation is to retire mungegithub.
Jacob Pavlik demonstrated the KQueen cluster manager. Jaice DuMars went over release 1.10, which is in week 2 of 12 and will go into Feature Freeze on January 22nd, so get your features in! And SIG Azure and SIG Node made reports.
Feature Work
Configurable Pod Process Namespace Sharing prepared for inclusion in 1.10 this week with the addition of a feature flag for PID namespace sharing. The --docker-disable-shared-pid was also removed from kubelet.Kubelets can now be run in containers, allowing for a completely containerized Kubernetes install. Such installs are now passing e2e tests.
Support for raw block devices as persistent volumes moved ahead with the merge of iSCSI support for block volumes.
Deprecated
Docker 1.10 is no longer supported. The minimum docker version is now 1.11. While docker 1.10 was officially deprecated in release 1.9, the compatibility code has now actually been completely removed.sig-cluster-lifecycle is gradually deprecating the /cluster directory in favor of having these cluster setup tools maintained outside of kubernetes/kubernetes. In 1.10, that will include removing the windows/, photon-controller/, libvirt-coreos/, and gce/container-linux/ subdirectories, with more to be removed in future releases.
Version Updates
- CSI is now version 0.1.0
- Kube-dns is now 1.14.8
Other Merges
- Users can now choose not to expose their controllers on HTTP port.
- GlusterFS volumes now support volume metrics.
- e2e tests no longer necessarily require docker.