azure-k3s-cluster provisions a full k3s Kubernetes cluster on Azure using a parameterised ARM template, orchestrated by a Makefile. One command spins up a resource group, VMs, networking, and a working k3s cluster with a server node and configurable number of agents. A reference for anyone who wants real Kubernetes on Azure without the AKS management overhead or price tag. ★57 with 15 forks.
The Makefile wraps az deployment group create with the ARM template and a parameter file, then polls until all nodes are Ready. Cloud-init on each VM downloads and installs k3s, joins agent nodes to the server, and exports the kubeconfig. A teardown target deletes the entire resource group cleanly. The ARM template is parameterised for VM size, node count, OS disk, and k3s version.
make deploy provisions VMs, networking, and a running k3s cluster — no manual Azure portal steps.
VM size, agent count, k3s version, and region are all parameters — customise via a JSON file or Makefile overrides.
Full Kubernetes API at a fraction of AKS cost — k3s runs on the smallest Azure VMs and needs no managed control plane.
The Makefile fetches the kubeconfig after deploy and patches the server address — kubectl works immediately.
make destroy deletes the resource group and everything in it — no orphaned resources.