Developers have just rolled out the latest version of Kubernetes, the open-source orchestration platform for application containers that can be distributed and run on multiple computers and operating systems.
The most important new feature in the Kubernetes 1.6 release is something called “Federation,” which enables support for massive clusters of more than 5,000 nodes, which can be virtual servers or other connection points for data transmission.
“For users who want to scale beyond 5,000 nodes or spread across multiple regions or clouds, federation lets you combine multiple Kubernetes clusters and address them through a single API endpoint,” Aparna Sinha, senior product manager of Kubernetes at Google Inc., the original developer of the software, said in a blog post Tuesday.
Kubernetes already could run up to 500 containers per node, and the introduction of federation now makes it possible to manage a whopping 2.5 million containers in total using the platform. Support for more than 5,000 nodes is made possible thanks to the addition of CoreOS Inc.’s etcd 3.0, a distributed key-value store, or database, that’s used to distribute networking, discovery, configuration data, scheduling and load balancing services.
Nick Chase, Mirantis Inc.’ head of technical content, said in another blog post that as “Kubernetes takes hold, the likelihood of running into situations in which users have multiple large clusters to deal with increases. Federation enables you to create an infrastructure in which users can use, say, the closest cluster to them, or the one that has the most spare capacity.”
That’s not all there is in the latest release. Developers have also added the kubefed command line utility to the project. Kubefed is a tool that allows administrators to manage federated clusters in Kubernetes. It’s used to deploy a control plane, a part of a network that routes data packets, for each new Kubernetes cluster federation, and further lets users add clusters to or remove clusters. Now available in beta, this utility comes with improved support for on-premises clusters.
Another new feature is Kubernetes Daemon Sets, which can be used to specify which nodes will run a specific set of containers. The feature allows Kubernetes to ensure that the selected nodes satisfy all of the requirements those containers have to run.
Security improvements have also been added to the latest release. Kubernetes 1.6 introduces role-based access control, which enables default roles for system components. The default role-based access control policies define permissions for control-plane components, nodes and controllers, while allowing administrators to grant fine-grained access to specific resources to individual users.
On the storage side, Kubernetes 1.6 sees the stable release of the StorageClass and dynamic volume provisioning features. These allow admins to create and delete storage on the fly. As such, it’s no longer necessary to pre-provision storage resources.
Also, the new release lets admins define and expose multiple storage types within a single cluster. What this means is that admins can choose from multiple storage options, without needing to worry about the nuances of how that storage is provisioned. Kubernetes 1.6 automatically installs system-defined StorageClass objects for all major public clouds, including Amazon Web Services, Microsoft Azure, Google Cloud Platform and OpenStack.
Kubernetes 1.6 is available now via GitHub.