Chapter 14. The Future of Kubernetes

In this chapter, we look at the future of Kubernetes from multiple angles. We'll start with the roadmap and forth coming product features, including diving into the design process of Kubernetes. Then we'll cover the momentum of Kubernetes since its inception, including dimensions such as community, ecosystem, and mindshare. A big part of Kubernetes' future will be determined by how it fares against its competition. Education will play a major role too as container orchestration is new, fast-moving, and not a well-understood domain. Then, we'll discuss a capability at the top of my wish list – dynamic plugins.

The covered topics are as follows:

  • The road ahead
  • Competition
  • The Kubernetes momentum
  • Education and training
  • Dynamic plugins

The road ahead

Kubernetes is a large open source project. Let's look at some of the planned features and upcoming releases, as well the various special interest groups that focus on specific areas.

Kubernetes releases and milestones

Kubernetes has fairly regular releases. The current release as of April 2017 is 1.6.1. The next release 1.7 is about 22% done. Here are a couple of issues from the 1.7 releases to give you a taste of the work being done:

  • WIP group the KubeletConfiguration parameters into substructures
  • Mark Kubelet's master-service-namespace flag as deprecated
  • Remove the deprecated --babysit-daemons kubelet flag
  • Clean up the pre-ControllerRef compatibility logic
  • Use Watch() for VerifyControllerAttachedVolume instead of a single poll

Minor releases are released every three months, and patch releases plug holes and issues until the next minor release. Here the release dates of the three most recent releases:

  • 1.6.0 released on March 29, 2017, and 1.6.1 released on April, 2 2017
  • 1.5.0 released on Dec 12, 2016, and 1.5.6 released on March, 29 2017
  • 1.4.0 released on Sep 26, 2016, and 1.4.9 released on Feb 15, 2017

Another good way to look at what is coming is to look at the work being done on the alpha and beta releases. You can check the changelog here:

https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG.md.

Here are some of the changes in the 1.7 alpha release:

  • Juju: Enable GPU mode if GPU hardware detected
  • Check the error before parsing the apiversion
  • get-kube-local.sh checks pods with the --namespace=kube-system option
  • Use http2 in kubeapi-load-balancer to fix kubectl exec uses
  • Support status.hostIP in downward API

Kubernetes special interest and working groups

As a large open source community project, most of the development work on Kubernetes takes place in multiple working groups. The complete list is here:

https://github.com/kubernetes/community/blob/master/sig-list.md.

The planning for future releases is done mostly within these SIG and working groups because Kubernetes is too big to handle it all centrally. SIGs meet regularly and discuss.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset