What’s new in Kubernetes 1.20

The latest release of the container orchestration system deprecates the Docker runtime in favor of its own runtime interface

What’s new in Kubernetes
AvigatorPhotographer / Getty
Table of Contents
Show More
The newest version of Kubernetes, 1.20, introduces the following major changes:

Kubernetes 1.17, released in December 2019, introduced the following key new features and revisions: 

Where to download Kubernetes

You can download the Kubernetes source code from the releases page of its official GitHub repository. Kubernetes is also available by way of the upgrade process provided by the numerous vendors that supply Kubernetes distributions.

What’s new in Kubernetes 1.16

Kubernetes 1.16, released in September 2019, contains the following new and revised features:

What’s new in Kubernetes 1.15

Kubernetes 1.15, released in late June 2019, provides the following new features and improvements:
Other changes in Kubernetes 1.15 include:
  • Certificate management now automatically rotates certificates before expiration.
  • A new framework for plug-ins that perform scheduling operations has entered alpha.
  • Microsoft Windows Server 2019 is now officially supported as a platform for running both Kubernetes worker nodes and container scheduling. This means entire Kubernetes clusters can run on Windows exclusively, rather than having a mix of Windows and Linux systems.
  • The plugin mechanism for Kubectl, the default Kubernetes command-line tool, is now a stable feature, letting developers implement their own Kubectl subcommands as standalone binaries.
  • Persistent local volumes are now a stable feature. This lets locally attached storage be used by Kubernetes for persistent volumes. Aside from offering better performance than using network-attached storage, it also makes it easier (and potentially cheaper) to stand up a cluster.
  • Process ID limiting for Linux hosts is now a beta feature. This prevents any one pod from using up too many process IDs and thus causing resource exhaustion on the host.

What’s new in Kubernetes 1.13

Version 1.13 of Kubernetes was released in December 2018, with the following new and upgraded features:
  • Kubeadm, a tool designed to make it easier to set up a Kubernetes cluster, is finally available as a fully supported feature. It walks an admin through the basics of setting up nodes for production, joining them to the cluster, and applying best practices along the way. It also provides a way for infrastructure-orchestration tools (Puppet, Chef, Salt, etc.) to automate cluster setup.
  • The Container Storage Interface, or CSI, is now also available as a supported feature. CSI allows extensions for Kubernetes’s volume layer, so that storage plugins can work with Kubernetes without having to be made part of Kubernetes’s core code.

What’s new in Kubernetes 1.12

Released in late September 2018, Kubernetes 1.12 brings to general availability the Kubelet TLS Bootstrap. The Kubelet TLS Bootstrap allows a Kubelet, or the primary agent that runs on every Kubernetes node, to join a TLS-secured cluster automatically, by requesting a TLS client certificate through an API. By automating this process, Kubernetes allows clusters to be configured with higher security by default.

Also new in Kubernetes 1.12 is support for Microsoft Azure’s virtual machine scale sets (VMSS), a way to set up a group of VMs that automatically ramp up or down on schedule or to meet demand. Kubernetes’s cluster-autoscaling feature now works with VMSS.

Other new features in Kubernetes 1.12:

  • Snapshot and restore functionality for volumes (alpha).
  • Custom metrics for pod autoscaling (beta). This allows custom status conditions or other metrics to be used when scaling a pod—for instance, if resources that are specific to a given deployment of Kubernetes need to be tracked as part of the application’s management strategy.
  • Vertical pod scaling (beta), which allows a pod’s resource limits to be varied across its lifetime, as a way to better manage pods that have a high cost associated with disposing of them. This is a long-standing item on many wish lists for Kubernetes, because it allows for strategies to deal with pods whose behaviors aren’t easy to manage under the current scheduling strategy.

What’s new in Kubernetes 1.11

Released in early July 2018, Kubernetes 1.11 adds IPVS, or IP Virtual Server, to provides high-performance cluster load balancing using an in-kernel technology that’s less complex than the iptables system normally used for such things. Eventually, Kubernetes will use IPVS as the default load balancer, but for now it’s opt-in.

Custom resource definitions, billed as a way to make custom configuration changes to Kubernetes without breaking its standardizations, may now be versioned to allow for graceful transitions from one set of custom resources to another over time. Also new are ways to define “status” and “scale” subresources, which can integrate with monitoring and high-availability frameworks in a cluster.

Other major changes include:

  • CoreDNS, introduced in 1.10, is now available as a cluster DNS add-on, and is used by default in the kubeadm administration tool.
  • Kubelet configuration changes can now be rolled out across a live cluster without first taking the cluster down.
  • The Container Storage Interface (CSI) now supports raw block volumes, interoperates with the kubelet plugin registration system, and can pass secrets more readily to CSI plugins.
  • There are many changes to storage, including online resizing of persistent volumes, the ability to specify a maximum volume count for a node, and better support for protecting storage objects from being removed when in use.

What’s new in Kubernetes 1.10

The March 2018 Kubernetes 1.10 production release includes the beta release of the Container Storage Interface (alpha as of Kubernetes 1.9) that promotes an easier way to add volume plug-ins to Kubernetes, something that previously required recompilng the Kubernetes binary. The Kubectl CLI, used to perform common maintenance and administrative tasks in Kubernetes, can now accept binary plug-ins that perform authentication against third-party services such as cloud providers and Active Directory.

Non-shared storage,” or the ability to mount local storage volumes as persistent Kubernetes volumes, is now also beta. The APIs for persistent volumes now have additional checks to make sure persistent volumes that are in use aren’t deleted. The native DNS provider in Kubernetes can now be swapped with CoreDNS, a CNCF-managed DNS project with a modular architecture, although the swap can only be accomplished when a Kubernetes cluster is first set up.

The Kubernetes project is now also moving to an automated issue life-cycle management project, to ensure stale issues don’t stay open for too long.

What’s new in Kubernetes 1.9

Kubernetes 1.9 was released in December 2017.

Production version of the Workloads API

Promoted to beta in Kubernetes 1.8 and now in production release in Kubernetes 1.9, the Apps Workloads API provides ways to define workloads based on their behaviors, such as long-running apps that need persistent state.

Version 1 of the Apps Workloads API brings four APIs to general availability:

Related:
Page 1