What’s New with Kubernetes 1.15 Release

What’s New with Kubernetes 1.15 Release


Kubernetes 1.15 got out today! that's the 2nd Kuberentes release of 2019. I thought of sharing some highlights from this release.

In short, this release's highlights are:

  • Improved Container Storage Interface (CSI)
  • Improved Cluster Lifecycle Stability and Usability
  • More Extensibility of core Kubernetes APIs, focued on Custom Resources Management

Improved Container Storage Interface (CSI)

Major improvements were around bringing CSI feature parity with in-tree functionality, such as resizing inline volumes. You can now also clone volumes (alpha feature) by specifying another PVC as a DataSource when provisioning a new volume, given that the underlying storage system supports this functionality.

Improved Cluster Lifecycle Stability and Usability

A lot of investments were done in kubeadm, which moved to v1beta2 from v1beta1 btw. You can now use kubeadm to provision and maintain high availability (HA) by using the familiar kubeadm init and kubeadm join commands.

Certificate management had great attention and now you can rotate all your certifications on upgrades before they expire during control plane upgrade.

More Extensibility of Core Kubernetes APIs

The main focus in this release on CRDs data and behavior consistency. OpenAPI based validation schema will now require eachto be validated against a structural schema. Itbasically enforces non-polymorphic and complete typing of each field in a CustomResource. Non-structural schema will work as is, but any serious CRD application is urged to migrate to structural schemas in the foreseeable future.

Other notable improvements to CRDs

  • CustomResourceDefinitions with Kubernetes 1.15 gained the ability to convert between different versions on-the-fly via webhooks.
  • OpenAPI publishing for CRDs will be available with Kubernetes 1.15 as beta for structural schemas only.
  • Automatic removal of unknown fields enforces that only data structures specified by the CRD developer are persisted to etcd.
  • CustomResourceDefinitions get support for defaulting. Defaults are set for unspecified field in an object sent to the API, and when reading from etcd.


This release is targeting some advanced features such CRDs and the convenience of running highly available & resilient Kubernetes clusters. I encourage you to check the release notes for a complete list of notable features and fixes.

If you are still getting started with Kubernetes, check this cool curation of The Best Kubernetes Tutorials


Comments and Responses

Related Articles

DevOps, Kubernetes, cost saving, K8s
Kubernetes Cost Optimization 101

Over the past two years at Magalix, we have focused on building our system, introducing new features, and

Read more
The Importance of Using Labels in Your Kubernetes Specs: A Guide

Even a small Kubernetes cluster may have hundreds of Containers, Pods, Services and many other Kubernetes API

Read more
How to Deploy a React App to a Kubernetes Cluster

Kubernetes is a gold standard in the industry for deploying containerized applications in the cloud. Many

Read more

start your 14-day free trial today!

Automate your Kubernetes cluster optimization in minutes.

Get started View Pricing
No Card Required