Home Enterprise Kubernetes 1.19 Released

Kubernetes 1.19 Released

by Michael Rink
Kubernetes 1.19

Today, the Kubernetes team officially released version 1.19 of the most popular open-source container-orchestration system. The 1.19 release boasts 34 enhancements despite the disruption caused by COVID-19. 9 of the enhancements are Alpha enhancements, 15 are in Beta stage, and the remaining 10 are Stable. The draft release notes from a few hours before the official release include about a page’s worth of notes and required actions marked with a charmingly emphatic warning: “(No, really, you MUST read this before you upgrade).” Anyone looking to update to the new version should probably read at least that section of the release notes first, especially if you are using the Flex Volumes feature. The first version of Kubernetes was released five years ago, in July 2015. A large percentage of the original contributors to the open-source project was from Google, and the software is written in Go. Go, sometimes called Golang, is a statically typed, object-oriented, concurrent, imperative language that includes memory safety and garbage collection.

Today, the Kubernetes team officially released version 1.19 of the most popular open-source container-orchestration system. The 1.19 release boasts 34 enhancements despite the disruption caused by COVID-19. 9 of the enhancements are Alpha enhancements, 15 are in Beta stage, and the remaining 10 are Stable. The draft release notes from a few hours before the official release include about a page’s worth of notes and required actions marked with a charmingly emphatic warning: “(No, really, you MUST read this before you upgrade).” Anyone looking to update to the new version should probably read at least that section of the release notes first, especially if you are using the Flex Volumes feature. The first version of Kubernetes was released five years ago, in July 2015. A large percentage of the original contributors to the open-source project was from Google, and the software is written in Go. Go, sometimes called Golang, is a statically typed, object-oriented, concurrent, imperative language that includes memory safety and garbage collection.

Kubernetes 1.19

Possibly the most critical change coming with Kubernetes 1.19 isn’t in the software. The Kubernetes team has decided to extend support from the previous nine-month support period to a full year. This change was motivated by a survey last year that indicated that only half of Kubernetes users were on a supported version. The team hopes that increasing the support duration to a full year will mean that 80% of users are using a supported version. Unfortunately, that 80% goal will only be reached if users and IT teams continue with their current update practices instead of taking the longer support window as an excuse to further delay their next update.

One of the new 9 Alpha stage enhancements provides support for better storage management. 1.19 introduces a new API to report the storage capacity of a node. The scheduler will then use this capacity information when choosing a node for a new container pod to ensure that only nodes with adequate space for the new pod are selected. In a similar vein, another of the 9 Alpha enhancements allows operators to define a default spreading rule and apply it to any pods without one. This long-awaited feature was initially intended to be released last year as part of 1.17, but the team’s commitment to providing stable, reliable, quality software delayed its release until now.

Continuing with the theme of improved storage handling, another new Alpha feature extends the existing support for ephemeral volumes. Ephemeral volumes are volume plugins whose lifecycle is tied to a pod and can be used as scratch space (e.g. the builtin “empty dir” volume type) or to load some data into a pod (e.g. the builtin configmap and secret volume types or “CSI inline volumes”). The new Alpha feature extends this by allowing dynamic provisioning storage drivers to be used as an ephemeral volume with the volume’s lifecycle bound to the Pod. The new feature supports all StorageClass parameters for volume provisioning. All PersistentVolumeClaims such as storage capacity tracking, snapshots and restore, and volume resizing are also supported. While we’re on the topic of alerts, it should be noted that an attempt is also being made to improve logging in general. New methods for structuring the klog messages have been added as an Alpha enhancement in Kubernetes 1.19. The current plan calls for incrementally adding support for more structured logging besides the existing system so that users have plenty of time to adapt to the new and hopefully improved system at their own pace.

Wrapping up the Alpha enhancements to storage management, CSI health monitoring is being released with Kubernetes 1.19. The new feature lifts up CSI driver alerts by reporting them as events on PVCs or Pods. This feature serves as a stepping stone towards programmatic detection and resolution of individual volume health issues by Kubernetes.

Of the 15 Beta stage enhancements in Kubernetes 1.19, 2 are flagged as major changes and one as net new. The two Major Changes are an improvement to the Endpoints API to add a mirroring concept and the addition of two new function calls to improve the Node Topology API. The warning mechanism for the use of deprecated APIs also got an update.

Most prominent of the enhancements graduating to Stable is the Ingress API. This long-awaited change does little more than acknowledge the status quo of its wide-spread use in the industry. However, reading between the lines, it sounds like some members of the team still have improvements they want to make that might be included as parallel or replacement API in the future. The flip side of this change is that 1.19 also automated the deprecation (three releases later) and removal (three releases after that) of Beta features that aren’t being actively developed or graduating to Stable to reduce code clutter. The main purpose of the new automation is to reduce busywork and allow contributors to the open-source software to focus on improving new features instead of cleaning up dead ones.

Availability

Immediately

Kubernetes Main Site

Engage with StorageReview

Newsletter | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | Facebook | RSS Feed