🗃️ Resources
I had a lot to learn while building this cluster. Thousands of tabs were opened and closed, hundreds were re-opened over and over. Here are the few I can remember
Core Technologies
Section titled “Core Technologies”The main tech stack that makes up the cluster
K3s is a lightweight Kubernetes distribution designed for production workloads in resource-constrained environments. It is optimized for ARM processors and low-resource devices, making it ideal for edge computing, IoT, and small-scale deployments. K3s simplifies the Kubernetes installation process and reduces the memory and CPU footprint, while still providing the full Kubernetes API.
Talos Linux
Section titled “Talos Linux”Talos is an immutable, API-driven Linux distribution built specifically for Kubernetes control planes and nodes. It ships without a shell, keeping each machine declarative and reducing configuration drift. Talos integrates directly with Kubernetes, enabling fully automated lifecycle management from Git commits all the way to running workloads.
Raspberry Pi
Section titled “Raspberry Pi”Raspberry Pi is a series of affordable, small, and versatile single-board computers. These devices are widely used in education, hobbyist projects, and industrial applications due to their low cost, ease of use, and extensive community support. Raspberry Pi boards can run a variety of operating systems and are capable of handling a wide range of tasks, from simple automation to complex computing projects.
Hardware
Section titled “Hardware”This is a list of the specific hardware I’m using in my cluster, not to say others wouldn’t work, YMMV.
- Raspberry Pi 5 8GB: The latest Raspberry Pi model with 8GB of RAM.
- PoE+ NVMe HAT: A Power over Ethernet plus NVMe HAT for Raspberry Pi.
- NVMe SSD: A high-speed NVMe SSD for storage.
- SD Card: A reliable SD card for Raspberry Pi.
Network
Section titled “Network”- PoE Switch: A PoE switch for network connectivity.
- (OR) PoE Injector: An alternative to the PoE switch for providing power over Ethernet.
Software
Section titled “Software”Operating Systems
Section titled “Operating Systems”- Talos Linux: Immutable, Kubernetes-focused operating system for the x86 workload cluster.
- Ubuntu Server: Lightweight ARM build powering the Raspberry Pi bootstrap plane.
- Raspberry Pi OS: Handy for quick diagnostics and flashing when Pis misbehave.
Containerization
Section titled “Containerization”- Docker: A platform for developing, shipping, and running applications in containers.
- Multipass: A tool to launch and manage lightweight Ubuntu VMs.
Docker Containers
Section titled “Docker Containers”- pghalliday/tftp: A TFTP server container used for hosting boot files.
- erichough/nfs-server: An NFS server container used for hosting OS files.
Additional Tools
Section titled “Additional Tools”- Helm: A package manager for Kubernetes.
- Longhorn: A distributed block storage system for Kubernetes.
- ArgoCD: A declarative, GitOps continuous delivery tool for Kubernetes.
Documentation Site
Section titled “Documentation Site”- Astro: A modern static site builder.
- Starlight: A theme for building documentation sites with Astro.
Sources
Section titled “Sources”- Project Repository: The GitHub repository for this project.
- Starlight Starter Kit: The GitHub repository for the Starlight Starter Kit. *** End Patch
Documentation
Section titled “Documentation”Tutorials / Steps / Guides / Wikis / Forum Posts in no particular order