<p>Can somebody explain the difference in tooling between Crossplane and Cluster API from the perspective of a managed kubernetes platform provision ?</p>
<p><a href="https://github.com/kubernetes-sigs/cluster-api" rel="nofollow noreferrer">https://github.com/kubernetes-sigs/cluster-api</a></p>
<p>I was using crossplane for sometime to create k8s clusters and recently got to know that Cluster API is also having the same capability to provision k8s clusters.</p>

<p><strong>Cluster API</strong></p>
<p>Cluster API is one of the projects in CNCF that you can use the create and manage the <strong>Kubernetes</strong> clusters. it's more like Kubeadm, kind, k3s, minikube(not for prod usecase) with <strong>YAML</strong> config &amp; CLI.</p>
<p>You can create the YAML file and provision the Kubernetes cluster and manage it with that. There are different providers(AWS, AKS, GCP) available so you can use a provider-set service account or Access key secret and once you apply YAML to cluster API it will create a K8s cluster based on config and provider.</p>
<p>So with this, you can manage multiple Kubernetes clusters.</p>
<p>With cluster API YAML config you can create/manage K8s cluster on AWS, GCP, On-prem etc.</p>
<p><strong>Crossplane</strong></p>
<p>Consider <strong>crossplane</strong> as a deployment or service you are running on Kubernetes first.</p>
<p>You pass YAML config to cross-plane service based on rules it will create/manage the resources outside on cloud providers. It will also create/Manage the RDS, CloudSQL instances, Kubernetes clusters and other resources that the cloud provider supports.</p>
<p>It has also concept of provider(AWS, GCP, AKS)</p>
