Bare-metal Kubernetes · two nodes, one board
Two Raspberry Pi compute modules on one Mini-ITX board, running an immutable Linux with no shell and an eBPF datapath with no kube-proxy.
A Turing Pi 2 is a Mini-ITX carrier board with four compute-module sockets. Two are populated with Raspberry Pi CM4s — four Cortex-A72 cores and 8 GB of RAM each, booting Talos from 30 GB of on-module eMMC. Storage lives off-board on a separate NAS.
The interesting part is that IPv4 and IPv6 arrive by completely different mechanisms and only meet at the gateway. There is no cloud load balancer and no BGP, so the v4 address floats between nodes by ARP; v6 has no floating address at all and is fronted by a proxy pinned to each node.
No SSH anywhere. Talos has no shell to log into. Everything — upgrades, config, etcd snapshots — goes through a gRPC API authenticated by client certificate. Those certs expire annually, which is its own adventure.
The CM4s need a special build. Upgrades must use an Image Factory installer carrying the Raspberry Pi overlay. The generic installer boots fine on x86 and leaves a CM4 without firmware.
Photos never touch the nodes. The 30 GB eMMC holds only the OS and container images; the library is NFS on pixy, mounted straight into the pods.
Backups run to the NAS. Nightly pg_dump and an etcd snapshot, kept 14 deep — enough to rebuild the cluster from the config repo.