Kubernetes 1.15 Adds to API Kitty
The release team in charge of Kubernetes today announced a 1.15 quarterly update that adds a bevy of application programming interfaces (APIs) to help make the platform even more flexible than it already is.
In total, the latest release of Kubernetes adds 25 enhancements, with two capabilities moving to stable. Thirteen features have moved into beta, while 10 are in alpha.
Claire Laurence, senior technical program manager at Pivotal Software who served as the head of the release team for Kubernetes 1.15, says that, as part of an expanded focus on testing, a more stringent set of requirements were applied to enhancements that were elevated to beta.
New stable capabilities include extensions for the KubeCTL command line interface and a gomodule to simplify the management of Kubernetes dependencies.
New beta capabilities include:
- A CustomResourceDefinitions Pruning API, which automatically removes unknown fields in objects sent to a Kubernetes API.
- OpenAPI schemas are also published for CRDs, again with the requirement of structural schemas.
- A kubeadm high availability (HA) capability, which allows users to use the familiar `kubeadm init` and `kubeadm join` commands to configure and deploy an HA control plane.
- The kubeadm configuration file API is moving from v1beta1 to v1beta2.
New alpha capabilities in Kubernetes 1.15 include:
- A CustomResourceDefinitions API, which provides support for defaulting. Defaults are specified using the `default` keyword in the OpenAPI validation schema. Defaults are set for unspecified field in an object sent to the API and when reading from etcd.
- Support for volume cloning to the Container Storage Interface (CSI).
- A new framework for scheduling plug-ins.
- An ExecutionHook API designed to trigger hook commands in the containers for different use cases.
As welcome as these and other new capabilities in Kubernetes 1.15 may be, organizations that have adopted the platform are now struggling with a paradox. Each new capability simultaneously makes the platform both more flexible and complex to master. In fact, it’s not clear to what degree the more than 75 distributions being curated by various vendors will be managed by internal IT organizations versus managed service providers. The most widely employed instances of Kubernetes today tend to be in the form of managed services provided by either Amazon Web Services (AWS), Microsoft or Google. However, as organizations increasingly view Kubernetes as being core to their hybrid cloud computing strategy, many more instances of Kubernetes will be deployed in an on-premises IT environment.
Laurence says IT organizations should see the release teams overseeing Kubernetes keeping to a quarterly release cycle. Of course, the curated instances of Kubernetes that most enterprise IT organizations consume don’t include beta or alpha capabilities. Most providers are wary of providing support for features and capabilities that are still subject to change.
In the meantime, as Kubernetes turns 5 in 2019, this latest release is only the 15th overall, which on average is only three a year. However, as more organizations adopt Kubernetes, many of them will find themselves managing clusters based on different versions of Kubernetes that, over time, will need to be upgraded. For many IT organizations, the real challenges associated with managing Kubernetes deployments at scale are only just beginning.