Built a proper 3-node Kubernetes cluster on Radxa Rock 5T SBCs with Talos, Cilium BGP, Longhorn, Gateway API, Flux
▲ 25 r/minilab+2 crossposts

Built a proper 3-node Kubernetes cluster on Radxa Rock 5T SBCs with Talos, Cilium BGP, Longhorn, Gateway API, Flux

Most SBC clusters I see make compromises to fit the hardware: single GbE, SD/eMMC card storage, 8 GB RAM, k3s to keep resource usage down. I wanted a local twin of my Hetzner production cluster without any of those compromises. Something I could break, rewire, reflash, and rebuild.

The Radxa Rock 5T makes the difference:

  • RK3588 (4 x A76 & 4 x A55)
  • 24 GB LPDDR5 per node (72 GB total)
  • Two native 2.5 GbE NICs - NIC-1 for management/BGP/ingress, NIC-2 isolated for pod-to-pod traffic only
  • The entire cluster runs off one cable - Radxa 25W PoE+ module soldered onto each board, fed by a Ubiquiti Flex 2.5G PoE switch, powered by a single PoE+++ uplink from the router. No wall warts, no USB-C bricks
  • PCIe 3.0 NVMe (Crucial P510 1 TB) - Longhorn actually performs
  • First-class Talos Linux overlay

The stack:

  • Talos Linux (no SSH, API-only, immutable)
  • Cilium with full kube-proxy replacement
  • Cilium BGP Control Plane → 3-way ECMP on a Ubiquiti Dream Router (all three nodes advertise each LB IP simultaneously, no ARP)
  • Gateway API (Cilium native, no deprecated ingress-nginx)
  • Longhorn with 3 replicas across the NVMe drives
  • Flux for GitOps

https://preview.redd.it/qo2owxotib3h1.jpg?width=6144&format=pjpg&auto=webp&s=66fc4f864fa7db4d480b43519b947fe5d5619e92

👉 Full writeup with complete configs (Talos patches, Cilium HelmRelease, FRR BGP config for the UDR)

Curious what the more experienced folks here would do differently. 🤔 Feedback and roasts welcome.

reddit.com
u/Dual-O — 15 days ago