Cluster API vs Gardener
Cluster API
cluster-api.sigs.k8s.ioGardener
gardener.cloudSide by side
| Figure | Cluster API | Gardener |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | — |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 0 |
| Spec score · Kubernetes Management Platforms | 8.8 (#3) | 7.6 (#16) |
| Infrastructure | It is designed to work across on-premises and cloud environments and can be extended with infrastructure providers such as AWS, Azure, and vSphere. | The homepage lists OpenStack, metal-stack, IronCore, STACKIT, AWS, Azure, Google Cloud, and Alibaba Cloud. |
| Lifecycle | Its stated goals include creating, scaling, upgrading, and destroying Kubernetes-conformant clusters through a declarative API. | Gardener supports cluster lifecycle management, self-healing, and autoscaling across the stack. |
| Purpose | Cluster API provides declarative APIs and tooling to provision, upgrade, and operate multiple Kubernetes clusters. | Gardener is a managed Kubernetes service framework for delivering fully managed clusters at scale through your own Gardener installation. |
| Security | The project’s user security guidance recommends auditing management and workload clusters, nodes, and cloud-provider activity, and using least-privilege credentials. | Gardener mandates the DISA Security Technical Implementation Guide for Kubernetes and provides adopters a compliance checker for demonstrating DISA Kubernetes STIG compliance. |
Plans
In their own words
Cluster API
Cluster API is an open-source project for managing the lifecycle of multiple Kubernetes clusters through declarative APIs and tooling. Platform operators can use it to create, scale, upgrade, and destroy Kubernetes-conformant clusters across on-premises and cloud environments. Provider implementations are interchangeable; kubeadm is the default bootstrap provider. The ecosystem includes infrastructure, bootstrap, control plane, IPAM, addon, and runtime extensions, with environments such as AWS, Azure, GCP, OpenStack, vSphere, and KubeVirt. A management cluster can use clusterctl or the Cluster API Operator to manage provider components. Clusterctl fetches provider component YAML and installs it, while the Operator uses a declarative approach intended to support GitOps workflows. Getting started requires an existing Kubernetes cluster accessible through kubectl; kind, Docker, and Helm are common prerequisites. Cluster API supports multi-cluster provisioning and upgrades, but does not manage a single cluster spanning multiple infrastructure providers or clusters it did not provision. It is free and open source. The project supports its latest two minor releases, with each supported for roughly 12 months including maintenance.