The Cloud Native Computing Foundation (CNCF) will officially release Kubernetes 1.9 this afternoon. While the release will be just slightly ahead of the community’s normal quarterly release cycle and admittedly have fewer bells and whistles than previous releases, the update portends to the platform’s growing influence.
CNCF announced details of the Kubernetes 1.9 release earlier this week.
Eric Chiang, senior engineer at CoreOS, explained in a blog post that the increased attention on and uptake of Kubernetes is placing new challenges in front of the community that will be addressed with the 1.9 release.
“Rather than adding new features to ‘core,’ much of the current work involves refactoring the Kubernetes code base so that it is less monolithic,” Chiang wrote. “This effort has the dual purposes of making sub-projects easier to consume and maintain and to improve the extensibility of Kubernetes itself.”
Chiang explained this work is seen through the use of the Container Network Interface (CNI), which allows for more networking options; Customer Resource Definitions (CRDs) and aggregated API servers to extend the API without impacting workflow; and the use of Webhook plugins for authentication and authorization with policy engines.
“Certain kinds of new features, particularly those that integrate directly with cloud providers, have started to require an extensibility point, instead of being implemented in core,” Chiang noted. “This lifts the burden off of an already huge code base, while also offering the benefit of not favoring one distribution or cloud provider over another.”
Extensibility and Conformance
In attempting to improve the extensibility of Kubernetes, Chiang noted the CNCF ran a project during the 1.9 release cycle to collect metrics for GitHub repositories. This provided insight into the development velocity of the project.
“Notably, this data validates the ongoing goal to split the Kubernetes monolithic repository into smaller, more consumable projects,” Chiang explained.
He also pointed to the Kubernetes Software Conformance Certification program that CNCF launched during the 1.9 release cycle as a way to stabilize the platform. That program is designed to ensure compliant APIs can provide consistent Kubernetes services and interoperable support across vendor platforms.
“Kubernetes should provide basic expectations of flexibility, portability, and confidence to users and enterprises, and defining rules around what Kubernetes is is critical to that effort,” Chiang said of the program.
CoreOS earlier this month folded the previous Kubernetes 1.8 release into its Tectonic managed enterprise service product. That product provides a single platform that can run across cloud and bare metal environments. It supports the running, managing, scaling, and sharing of cloud resources across an organization.
Chiang noted the company would include Kubernetes 1.9 in a future release.
K(eep) I(t) S(imple) S(tupid)
The latest work also highlights ongoing development and deployment challenges.
“From the point of view of a cluster operator, we need to make it easier to install, upgrade, troubleshoot, backup, and secure your cluster,” Beda said. “These issues face folks no matter where they run. Hosted services like Google Container Engine (GKE) or Azure Container Service (AKS) will help users in many situations, but the promise of Kubernetes is that it can run anywhere. We need to continue to invest to make that true.”
Looking ahead, Chiang said the Kubernetes community will need to continue to move some work to external projects. These include the cloud controller manager; Container Storage Interface (CSI) for external storage; and moving the kubeadm cluster installer to its own repository.
“Hopefully, however, Kubernetes releases will become more and more ‘boring’ over time, as things are in the world of Linux,” Chiang wrote. “This will in no way reflect a community that is slowing down, but one that is accelerating and empowering the hundreds developers that already work on Kubernetes. This process of cutting up repos and designing extensibility points is the next frontier for Kubernetes as a project because it’s essential for users to have the flexibility to build on and extend Kubernetes up the stack.”
That need to make Kubernetes “boring” was echoed by Platform9 CEO Sirish Raghuram, who said that would show greater stability in the platform as well as a base for new innovation.
“These developments highlight the increasing commoditization of the base Kubernetes platform and the need for vendors operating in this space to deliver more useful and interesting capabilities on top such as serverless on Kubernetes and Istio integration to truly stand out,” Raghuram said.