Usman Khan

/Projects

In progress

Homelab Kubernetes Cluster

A bare-metal, highly available Kubernetes cluster built on HP EliteDesk mini PCs with Talos Linux, documented from the first boot onwards.

Started

  • Talos Linux
  • Kubernetes
  • Flannel
  • HP EliteDesk 800 G4
  • 10-inch rack

Overview

This is my hands-on Kubernetes lab: a small rack of HP EliteDesk mini PCs running Talos Linux on bare metal, with no hypervisor and no managed control plane. It’s built to behave like a real platform: three control-plane nodes for high availability, a floating API endpoint, and dedicated workers.

Why I’m building it

I’m building it for three reasons: to sharpen my Kubernetes skills ahead of the CKA, to self-host tools I actually use, and to have somewhere I can break things on purpose and practise recovering, which you can’t do on platforms people depend on.

The posts in this series cover the build in order, including the dead ends: architecture decisions, hardware issues, bootstrapping, failover testing and everything after.

Coming next

Worker nodes, Longhorn storage, and GitOps.

Hardware(8)

The cluster started with five nodes; a sixth joined later to give me three workers — the reason gets its own post.

Posts in this series(3)

  1. 01

    Why I'm building a bare-metal Kubernetes homelab

    Five second-hand mini PCs, a 10-inch rack and a plan: why I'm building Kubernetes from the metal up, and the decisions that shaped it.

    • #homelab
    • #kubernetes
    • #talos
    • #bare-metal
  2. 02

    Designing the lab: hardware, rack and power

    Why five identical HP EliteDesk mini PCs, how I split the memory, and what it took to fit a Kubernetes cluster into a 10-inch rack on a corner shelf.

    • #homelab
    • #hardware
    • #rack
    • #bare-metal
  3. 03

    Homelab networking: the part everyone skips

    An IP address plan for a bare-metal Kubernetes cluster on an ordinary home network: DHCP reservations, a floating API address, and room to grow.

    • #homelab
    • #networking
    • #dhcp
    • #kubernetes