Project Goals & Scope
This is an educational project to explore kubernetes cluster configurations using an ARM architecture and
its automation using Ansible.
The entire process for creating this cluster at home, from cluster design and architecture to step-by-step manual configuration guides, has been documented. You can find all this information in the docs section, so you can build your own home cluster. Automation code (Ansible source code) is also at your disposal in the project's git repository.
The project scope includes the automation of the deployment and configuration of a lightweight Kubernetes flavor, K3S, and basic cluster services such as: 1) distributed block storage for PODs' persistent volumes, Longhorn, 2) centralized monitoring service, Prometheus, 3) centralized log management service EFK (Elasticsearch-Fluentbit-Kibana) , 4) backup/restore solution, Velero and Restic and, 5) service mesh architecture, Linkerd .
Perfect for educational purpuses
Ideal to know the state of the art of Kubernetes ARM-based clusters and to play with different cluster services and applications using low-performance bare metal servers instead of x8086-based virtual machines.
Low cost Kubernetes cluster
All it is needed is a bunch of Raspberry PIs, (4 Model-B with 4GB) USB sticks, a power hub, and a Ethernet Switch.
Anyway you can drive yourself mad, like I did, and buy more staff like dedicated SSDs disks to improve cluster performance.
Rebuild automatically the cluster
You can break the cluster configuration as many times as you need during your testing/learning process and be able to rebuild the cluster in minutes. All installation/configuration activities are automated with Ansible. It also makes easy to re-configure cluster nodes in case of hardware failure