The Kubernetes platform received a handful of significant updates for its last release of the year with an overall focus on cross-platform support and storage integration. Those updates should further bolster Kubernetes’ growing importance in the cloud-native ecosystem.
The 1.17 update includes 22 overall “enhancements.” The release team called out a handful as “major themes.”
Those include cloud provider labels reaching general availability. This allows for easier portability of container pod specifications across cloud providers.
The next is moving volume snapshots from alpha to beta. A volume snapshot is basically a point-in-time copy of a volume, or the components of a container. That snapshot can be used to more easily replicate that container, which is important for stateful workloads. The update provides for a standard way to trigger snapshot operations in the Kubernetes API instead of having to work around that API.
The 1.17 update also moves the Container Storage Interface (CSI) to beta. This move will see Kubernetes move away from “in-tree” plugins to deal with storage, which meant that the code was part of the core Kubernetes code as it added complexity, to using CSI drivers to deal with storage management. This should cut down on the complexity and increase security.
The Kubernetes team noted it has focused on ensuring the stability of storage APIs and a smooth upgrade to this CSI model. “This involves meticulous accounting of all existing features and behaviors to ensure backwards compatibility and API stability,” it explained in its release notes, confidently adding that, “You can think of it like changing the wheels on a racecar while it’s speeding down the straightaway.”
A recent report from cash-rich monitoring and analytics company Datadog found that 45% of its customers were running containers on Kubernetes. That includes self-managed deployments or on hosted platforms like Google Kubernetes Engine (GKE), Amazon Web Services (AWS) Elastic Kubernetes Engine (EKS), or Microsoft’s Azure Kubernetes Service (AKS). The Datadog findings were a 10-point increase from the previous year and a 20-point increase from 2017.
Maybe Next Time
One feature that continues to evade release is the inclusion of sidecar containers into Kubernetes. This would more closely tie the running of a container and a sidecar. That relationship currently has a sidecar, which feeds information into a running container without disturbing its operation, needing for its host container to begin running before the sidecar can be active.
In a recent interview, Lachlan Evenson, and was also a lead on the Kubernetes 1.16 release, said sidecar containers was one of the features that team was a “little disappointed” it could not include in their release.
Guinevere Saenger, software engineer at GitHub and lead for the 1.17 release team, explained that sidecar containers gained increased focus “about a month ago,” and that its implementation “changes the pod spec, so this is a change that affects a lot of areas and needs to be handled with care.” She noted that it did move closer to completion and “will again be prioritized for 1.18.”
Other features targeted for the 1.18 release include greater support for IPv6 and the IPv4/IPv6 dual stack and Windows container-focused updates like RuntimeClass on Windows and container runtime interface (CRI)-ContainerD on Windows. Kubernetes gained support for Windows containers and storage options in its 1.14 release that kicked off the year.
The Kubernetes teams continue to run on a quarterly update cycle, meaning the 1.18 release should be expected to drop before the end of March.
Not that enterprises are rushing out for the latest release. That previously referenced Datadog report found that most of its customers prefer older, more stable Kubernetes versions. It notes that the most popular version is 1.13, which was released in late 2018, and that only the 1.14 version from this year has gained any “significant adoption.”