Context: Homelab
The brief
Build and operate a three-node Kubernetes homelab on repurposed Dell Latitude hardware, with replaceable nodes and persistent data kept outside the cluster.
What I built
Three Talos Linux control planes running as KVM guests on separate Latitude 3440 hosts. A fourth laptop handles operations and exports NFS storage. The cluster uses flannel, MetalLB in L2 mode and a floating Kubernetes API address.
Decisions and trade-offs
Firmware problems made bare-metal Talos impractical on these machines, so Zorin OS and KVM became the host layer. All three control planes also run workloads. Storage stays on the separate ops box so rebuilding a Talos node does not mean rebuilding its data.
What I verified
- Shut down a control-plane node and watched the API address move to a surviving node.
- Mounted the same NFS volume read-write from pods on different physical hosts.
- Traced a throughput bottleneck to the network switch; replacing it brought the host links from 100Mb to gigabit.
The operating lessons
The build exposed a duplicate hostname configuration, a control-plane label that prevented MetalLB announcements, an unpinned chart and a physical network bottleneck. The full write-up records those failures and the fixes.
Read the build notes: the four things that actually broke · Explore the full stack