Cluster API
What is the Cluster API?
The Cluster API is a Kubernetes project to bring declarative, Kubernetes-style APIs to cluster creation, configuration, and management. It provides optional, additive functionality on top of core Kubernetes.
Note that Cluster API effort is still in the prototype stage while we get feedback on the API types themselves. All of the code here is to experiment with the API and demo its abilities, in order to drive more technical feedback to the API design. Because of this, all of the prototype code is rapidly changing.
To learn more, see the Cluster API KEP.
Get involved!
-
Join the sig-cluster-lifecycle Google Group for access to documents and calendars.
-
Join our Cluster API working group sessions
- Weekly on Wednesdays @ 10:00 PT on Zoom
- Previous meetings: [ notes | recordings ]
-
Provider implementer office hours
-
Chat with us on Slack: #cluster-api
Provider Implementations
The code in this repository is independent of any specific deployment environment. Provider specific code is being developed in separate repositories, some of which are also sponsored by SIG-cluster-lifecycle:
- AWS, https://github.com/kubernetes-sigs/cluster-api-provider-aws
- AWS/Openshift, https://github.com/openshift/cluster-operator
- Azure, https://github.com/platform9/azure-provider
- DigitalOcean, https://github.com/kubermatic/cluster-api-provider-digitalocean
- GCE, https://github.com/kubernetes-sigs/cluster-api-provider-gcp
- OpenStack, https://github.com/kubernetes-sigs/cluster-api-provider-openstack
- vSphere, https://github.com/kubernetes-sigs/cluster-api-provider-vsphere
API Adoption
Following are the implementations managed by third-parties adopting the standard cluster-api and/or machine-api being developed here.
- Machine-controller-manager, https://github.com/gardener/machine-controller-manager/tree/cluster-api
Getting Started
Prerequisites
kubectl
is required, see here.clusterctl
is a SIG-cluster-lifecycle sponsored tool to manage Cluster API clusters. See here
How to use the API
To see how to build tooling on top of the Cluster API, please check out a few examples below: