Cluster API, kops or Both for Kubernetes Multicluster Deployments?
Cluster API and kops, two emerging solutions in the Kubernetes cluster deployment and management space, are vying for developer attention, according to a recent study.
We know that Kubernetes adoption continues to increase exponentially. At the same time, the number of tools and platforms continues to grow in parallel. However, many organizations do not know the best way to deploy — or much less, manage — Kubernetes environments.
A case in point is the use of Cluster API and kops tools for Kubernetes deployments. Whether one might replace the other or if they will both continue to be used in conjunction remains yet to be seen. It will likely be a question of trial and error as organizations collectively gain experience, while Kubernetes deployment and management remains a work in progress.
This is one of the takeaways from the Cloud Native Computer Foundation‘s fifth End User Technology Radar, a guide to a set of emerging technologies based on the experience of the CNCF end-user community, the theme of which was multicluster management.
Of only two solutions in this Technology Radar in the “Assess” category, kops offers an opinionated way to deploy and shut down clusters and can also be used to configure cloud infrastructures. Cluster API, on the other hand — a CNCF Kubernetes sub-project — serves as a more streamlined approach to deploying Kubernetes clusters, with more limited options on offer through an API when creating clusters.
As options in the Assess category, it remains to be seen whether or to what extent either or both solutions will be adopted. Cluster API, for example, serves as a method to describe nodes in a predetermined way for the Kubernetes cluster being deployed, while the cluster itself is a Kubernetes object, Federico Hernandez, principal engineer at social media analytics provider Meltwater, who collaborated on this edition of CNCF Radar, told The New Stack.
kops offers more singular instances of clusters, while offering the user more options to configure the clusters compared to Cluster API. “kops is very opinionated, which is a good thing since you can make the opinion that fits best for your way of thinking and working,” Hernandez said.
Both options serve as “building blocks,” Hernandez said. kops might one day offer an API option to deploy clusters, but that scenario is far from certain, while Cluster API and kops are not expected to become competing options anytime in the near future.
“You need to define the way that those building blocks work best for you,” Hernandez said. “I don’t necessarily think that you will end up only picking one or the other.”
As is the case with kops and Cluster API for Kubernetes deployments, the CNCF Radar report also revealed how organizations are using a wide variety of different tools and best practices for multicluster management in general. Still, some trends are beginning to solidify for cluster management. Throughout the Kubernetes’ evolution, for example, “the community engine was fueled by initiatives to simplify the cluster provisioning process, independent of the infrastructure context,” Katie Gamanji, ecosystem advocate at CNCF, said.
“The technology radar team identified that operators are a favorite tool for the management of clusters and core services,” Gamanji said. “Handling a Kubernetes-centric platform is hard, but its flexibility and building blocks enable the creation of custom resources to minimize configuration overhead and simplify the management of clusters.
The consolidation of tools should also come together to address a broader range of needs in the near future. While it is undeniable that Kubernetes adoption has grown exponentially in the past few years, a broad appropriation of tools has led to the organic growth of numerous bootstrapping providers, Gamanji said.
This should set the stage for consolidation, or at the very least, tool and platform providers — and especially cloud vendors, should increasingly offer a number of different tools under the same umbrella.
“Some of these tools focus on cluster creation using cloud providers such as Amazon Web Services, Google Cloud Platform, Microsoft Azure, Alibaba Cloud, while other tools, such as kubeadm, provide on-prem and bare metal bootstrap capabilities,” Gamanji said. “However, looking at these tools, it is difficult to find a common denominator when it comes to the supported cloud providers and functionalities. Consolidation while preserving interoperability is essential and the community channels enormous efforts in this direction. One of the tools that can be highlighted in this instance is Cluster API, which exposes a unified and sustainable interface for cluster initialization on-prem and public cloud providers.”