Cluster API — It’s growing up!
In a previous blog post and CNCF webinar, we mentioned the fact that Spectro Cloud is built on top of the Kubernetes project Cluster API, which helps us to do Kubernetes cluster lifecycle management. The Cluster API project uses Kubernetes-style declarative APIs to simplify provisioning, upgrading, and operating multiple Kubernetes clusters. The underlying infrastructure, like virtual machines and networks, are managed in the same way that developers manage application workloads. This enables consistent and repeatable cluster deployments across a wide variety of infrastructure environments.
During the one year period since we’ve been part of the community, we’ve seen tremendous growth for the project in all aspects: more commits, more contributors, more diversified company contributions, more cloud providers, and more adoption.
There has been tremendous growth in the commits added to the cluster-api github repo (not including cluster api cloud provider github repos).
From the chart we can see that real development for cluster-api started at the end of 2017. And it really started to boom in mid 2019, when capi v1alpha3 was released with the important feature of KubeadmControlPlane. (Fun fact — that was also when Spectro Cloud was founded and joined the Cluster API community.)
Right in line with new commits added to the github repo are the number of new contributors that joined the community. The number of contributors has almost doubled compared to one year ago (261 on 09/06/2020 vs 140 on 06/04/2019).
Diversified Corporate Contributions
One of the concerns we mentioned in the previous blog was that there was only one big company contributor to the project. Looking at all the contributions in the last 12 months, VMware still represents around three quarters of all the contributions.
However we are glad to see lots more companies join the effort. If we look at the last three months, VMware’s contribution percentage dropped to 63%, with Microsoft and IBM/Red Hat contributing more, together with startups like Weaveworks and Spectro Cloud. That’s a good indicator for a healthy community project.
More Cloud Provider Support
With its plugin architecture, Cluster API already supports most of the major public and private cloud environments, as well as bare metal. New providers are also joining the family, such as bare metal cloud providers Packet and Sidero.
Popular cloud providers such as AWS, VSphere, Azure, GCP, Openstack are supporting the latest Cluster API versions, while others have stuck to older versions, either v1alpha1 or v1alpha2.
With all the “More! More ! More!” described above, more adoption is what we expect to see. Many of the open source and commercial solutions for k8s management are adopting Cluster API as the underlying engine, including Tanzu, Openshift, Anthos, Spectro Cloud, kubermatic, Giant Swarm, Airship … And the list keeps growing.
Among these products, some are using the latest Cluster API versions, such as VMware Tanzu, Spectro Cloud, Giant Swarm and Airship. Some have a fork based on older versions of Cluster API, such as OpenShift, Anthos, and Kubermatic. But all follow the same philosophy: use Kubernetes to manage Kubernetes.
Cluster API is currently working on the next planned alpha version, v1alpha4, adding new features together with system robustness and usability improvements. With Cluster API becoming more stable and expected to graduate to beta by early 2021, we expect to see more widespread adoption and more production deployments of Kubernetes clusters managed by Cluster API.
All data comes from https://k8s.devstats.cncf.io, at the time of writing on 09/06/2020.