This repo is my home Kubernetes cluster declared using yaml files. The Kubernetes flavor I use is k3s to keep the size to a minimum. I use Flux to watch this repo and deploy any changes I push here. See below for hardware, repo structure, and setup.
Previously my cluster was made up of 5 Raspberry Pi boards. I've moved to 7 Dell Wyse 5020 (Dx0Q), all of them using the Fedora 36 Server OS. For storage one of my nodes has a 2TB external hard drive attached and is running a NFS server. Persistent volumes are provisioned using nfs-subdir-provisioner.
The following are the main folders of the repositories.
- cluster: Contains all the yamls for the cluster applications and setup.
- provision:
- ansible: Playbooks to install k3s on the nodes and setup the cluster
- terraform: Declarations to setup the dns primary dns record to expose the cluster services.
I've used the following repos as inspiration and guidelines for this repo.
A special thanks goes to onedr0p for his flux cluster template. I recently reorganized my repo to closely follow his template.