Kubernetes 1.13 Improves Cloud-Native Storage Features
Kubernetes 1.13 was released on Dec. 3, providing users of the popular open-source cloud-native platform with new features to help make it easier to manage, deploy and operate containers in production.
Among the features that are now generally available in Kubernetes 1.13 is the kubeadmin administration tool for configuring services. The Container Storage Interface (CSI) is another new generally available feature providing a stable abstraction layer for different third-party storage plugins. Additionally, with Kubernetes 1.13, CoreDNS is now the default DNS (Domain Name Server) technology, replacing KubeDNS.
“One of the main themes that we tried to align the cycle with, was around stability, that is focusing more on giving users a reliable and stable end of year refresh of capabilities, mostly focusing on graduating long-term outstanding features that have had time to mature,” Aishwarya Sundar, release lead for Kubernetes 1.13 and Google Software Engineer, told eWEEK. “We also focussed this release on improving the reliability of features that are already in general availability, fixing any long-term issues that might be out there.”
Kubernetes 1.13 is the fourth and final release of 2018 for the Kubernetes project and follows the 1.12 release that became generally available on Sept. 27, Kubernetes 1.11 which was released on June 27 and Kubernetes 1.10 that launched on March 26. Kubernetes is a container orchestration and cloud-native application infrastructure platform that was originally developed by Google and has been operated as a Cloud Native Computing Foundation (CNCF) project since July 2015.
Sundar noted that the 1.13 release cycle had the shortest development cycle of any Kubernetes release. Though it was a quick development cycle, she commented that new release team models and approaches helped to expedite the process.
“We made a few release process improvements as well, focusing on CI/CD (Continuous Integration/Continuous Deployment) signals and triaging breaking changes early on in the cycle and also tightening the criteria for test jobs that block the release,” she said. “All of these were non-user facing improvements that we did in terms of the release process itself to ensure that we can land a stable, reliable release on time.”
The Container Storage Interface (CSI) had been in development for almost a year and first appeared as a beta feature for Kubernetes 1.10. CSI enables third-party storage vendors to build plugins against the stable API. Another new storage capability that is now stable in the 1.13 release is Topology Aware Volume Scheduling, which enables Kubernetes to make intelligent decisions while provisioning storage volumes within a Kubernetes pod.
“So we have the scheduler which provides input as to which would be the best place to provision a volume and the pod,” Sundar said. “For example, if you have a multi-zone cluster, this means the volumes will get provisioned in an appropriate zone, that can run within the pod allowing administrators to easily deploy and scale stable workloads.”
Overall, she noted that Topology Aware Volume Scheduling enables high-availability and fault-tolerant deployments.
Kubeadm is also a feature that had been in development for multiple releases of Kubernetes and is now finally generally available. Sundar explained that Kubeadm can used as an easy cluster management tool as a well as a tool to track the creation, configuration and upgrade of Kubernetes cluster. She added that at this point, after taking user experience feedback, fixing bugs and making a lot of improvements, it was determined that kubadmn is stable and ready to become generally available.
There are a number of alpha and beta features in Kubernetes 1.13 that provide a glimpse into future capabilities that mature in upcoming releases. Among the beta features is Kubectl Diff, which shows the difference between a locally declared object configuration and the current state of a live object. The API server DryRun is another capability that has now landed as a beta feature.
“The API server dry run is one of the things which will help us fix a lot of existing bugs, that are elusive today with applied commands being managed within kubectl and not with an API server,” she said.
In terms of alpha features making their debut, Kubernetes 1.13 introduces support for third-party device monitoring plugins.
“The main advantage of this feature is it will enable cluster administrators to gather more container level metrics for devices and provide device vendors with the ability to provide device-specific metrics,” she said.