Skip to content

🗃️ 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

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.

K3s

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.

Talos Linux

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.

Raspberry Pi

This is a list of the specific hardware I’m using in my cluster, not to say others wouldn’t work, YMMV.

  • PoE Switch: A PoE switch for network connectivity.
  • (OR) PoE Injector: An alternative to the PoE switch for providing power over Ethernet.
  • 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.
  • Docker: A platform for developing, shipping, and running applications in containers.
  • Multipass: A tool to launch and manage lightweight Ubuntu VMs.
  • Helm: A package manager for Kubernetes.
  • Longhorn: A distributed block storage system for Kubernetes.
  • ArgoCD: A declarative, GitOps continuous delivery tool for Kubernetes.
  • Astro: A modern static site builder.
  • Starlight: A theme for building documentation sites with Astro.

Tutorials / Steps / Guides / Wikis / Forum Posts in no particular order