Enabling ClusterClass

In this section we cover enabling the ClusterClass feature for a CAPI Provider.

Before using the ClusterClass feature, study the provider docs and confirm that the feature is supported. This documentation includes a matrix in the Certified providers section with cluster topology support status.

Enable ClusterClass

In order to use the ClusterClass feature, it needs to be enabled for core Cluster API and any provider that supports it. This is done by setting the CLUSTER_TOPOLOGY variable to true.

The Rancher Turtles Helm chart will automatically enable the feature when installing CAPI. However, when enabling additional providers, ensure CLUSTER_TOPOLOGY is set in the provider configuration. Turtles' CAPIProvider resource supports passing installation parameters to the provider via variables as follows:

apiVersion: turtles-capi.cattle.io/v1alpha1
kind: CAPIProvider
metadata:
  name: azure
  namespace: capz-system
spec:
  type: infrastructure
  name: azure
  configSecret:
    name: azure-variables
  variables:
    CLUSTER_TOPOLOGY: "true"
    EXP_CLUSTER_RESOURCE_SET: "true"
    EXP_MACHINE_POOL: "true"
    EXP_AKS_RESOURCE_HEALTH: "true"

The resource defined in this YAML file will install CAPZ with support for a number of features, including CLUSTER_TOPOLOGY.