This ARM template deploys a vanilla kubernetes cluster initialized using kubeadm. It deploys a configured master node with a cluster autoscaler. A pre-configured Virtual Machine Scale Set (VMSS) is also deployed and automatically attached to the cluster. The cluster autoscaler can then automatically scale up/down the cluster depending on the workload of the cluster.
A Service Principal is required for this template which gives the master node sufficient permissions to scale the Virtual Machine Scale Set. To create a new Service Principal run:
az ad sp create-for-rbac --name ServicePrincipalName
Both the Service Principal Client ID and Client Secret need to be passed as parameters.