Skip to content

Latest commit

 

History

History
72 lines (53 loc) · 3.99 KB

CLUSTERCTL.md

File metadata and controls

72 lines (53 loc) · 3.99 KB

Clusterctl

Version Interop

The compatible versions of Core CAPI / clusterctl and CAPVCD are listed in the table below:

CAPVCD Version Core CAPI/clusterctl Version
main v1.5.4
1.3.z v1.5.4
1.2.z v1.4.0
1.1.z v1.4.0
1.0.z v1.1.3

Set up

Setup instructions vary across versions. Please refer to CLUSTERCTL.md from the appropriate branch for setup instructions:

Initialize Management cluster

  1. Run the below command to initialize the management cluster with the Cluster API and the associated provider for VMware Cloud Director. Ensure the version interop between CAPVCD, Core CAPI, and Clusterctl are correct from the interop version table
    1. For CAPVCD main, use clusterctl init --core cluster-api:v1.5.4 -b kubeadm:v1.5.4 -c kubeadm:v1.5.4 -i vcd:v1.3.0
  2. Apply CRS definitions to ensure CNI, CPI and CSI are automatically installed on the workload clusters.

Generate cluster manifests for workload cluster

  1. Copy clusterctl.yaml to ~/.cluster-api/clusterctl.yaml
  2. Fill out the values for the environment variables in ~/.cluster-api/clusterctl.yaml.
  3. Generate the CAPI manifest file. Please check the templates folder for relevant CRS versions.
    • clusterctl generate cluster <clusterName> -f v1.28.4-crs > <clusterName>.yaml.
  4. Create the workload cluster by applying it on the (parent) management cluster.
    • kubectl apply -f <clusterName>.yaml
  5. Apply CRS labels and enable the resultant add-ons like CPI, CSI to access VCD resources

Template flavors

  • All of the templates to generate the cluster manifests are located at templates directory under the root of the github repository.

  • All the flavors listed support only v1beta1 API versions of CAPVCD and Core CAPI, and they each have their own etcd/dns versions prepopulated

  • Currently supported flavors:

    • v1.20.8
    • v1.24.10
    • v1.24.17
    • v1.25.7
    • v1.25.13
    • v1.26.8
    • v1.26.11
    • v1.27.5
    • v1.27.8
    • v1.28.4

    Please ensure your ~/.cluster-api/clusterctl.yaml has VCD_TEMPLATE_NAME matching the correct versions of Kubernetes. For example, if VCD_TEMPLATE_NAME=Ubuntu 20.04 and Kubernetes v1.28.4+vmware.1 then use v1.28.4-crs flavor.

  • It is strongly recommended to use v1.y.z-crs flavors to ensure CNI, CPI and CSI are automatically installed on the workload clusters. CNI and CPI are required add-ons for the cluster creation to be successful.