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...