A deep dive into Cluster API and GitOps – hands-on
In this section, we’ll use Cluster API to provision a Kubernetes cluster in Azure by using the declarative approach with Argo CD on VMs.
First, let’s see what our environment looks like:
- Azure:
- Azure tenant ID
 - Azure subscription
 - Azure app registration with Contributor access to the subscription
 - Azure Kubernetes Service (AKS)
 - The necessary Azure infrastructure, including Virtual Machines Scale Sets (VMSS), virtual networks, and more
 
 - Managed cluster – AKS:
- Argo CD running on a managed cluster
 
 - Workload cluster – VMSS:
- Control plane
 - Nodes
 
 - Tools:
kubectlclusterctlaz clihelm
 
Initializing the management cluster
The clusterctl command takes a list of providers to install as input. When executed for the first time, clusterctl init automatically includes the cluster-api core provider in the list. If not specified, it also adds the kubeadm bootstrap and kubeadm control plane providers...