Skip to main content
Version: 0.9

Create & import a cluster using CAPI providers

This guide goes over the process of creating and importing CAPI clusters with a selection of the officially supported providers.

Remember that most Cluster API Providers are upstream projects maintained by the Kubernetes open-source community.

Prerequisites​

Create Your Cluster Definition​

To generate the YAML for the cluster, do the following:

  1. Open a terminal and run the following:
export KUBERNETES_VERSION=v1.28
export AWS_REGION=eu-west-2
export AWS_INSTANCE_TYPE=t3.medium

clusterctl generate cluster cluster1 \
--from https://raw.githubusercontent.com/rancher-sandbox/rancher-turtles-fleet-example/templates/capa.yaml \
> cluster1.yaml
  1. View cluster1.yaml to ensure there are no tokens (i.e. SSH keys or cloud credentials). You can make any changes you want as well.

The Cluster API quickstart guide contains more detail. Read the steps related to this section here.

  1. Create the cluster using kubectl
kubectl create -f cluster1.yaml

Mark Namespace or Cluster for Auto-Import​

To automatically import a CAPI cluster into Rancher Manager, there are 2 options:

  1. Label a namespace so all clusters contained in it are imported.
  2. Label an individual cluster definition so that it's imported.

Labeling a namespace:

kubectl label namespace default cluster-api.cattle.io/rancher-auto-import=true

Labeling an individual cluster definition:

kubectl label cluster.cluster.x-k8s.io -n default cluster1 cluster-api.cattle.io/rancher-auto-import=true