Essay

A home lab built from the machines already in the cupboard

A practical plan for learning Rust and Kubernetes without pretending the first purchase needs to be a tiny data center.

In this article
  1. Inventory before shopping
  2. Split compute from plumbing
  3. Build something before building everything

Studying for the AWS Solutions Architect and CKA exams gave me an uncomfortably useful result: a clearer picture of everything I did not yet know.

I had helped build Kubernetes and OpenShift environments, but another team ran the applications after handoff. Operations—the part where a system stops behaving like the diagram—was missing from my experience. I also failed the CKA twice. Nothing focuses a learning plan quite like paying for the same exam again.

So I started designing a home environment where I could build, run, break, and repair the whole stack myself.

Inventory before shopping #

The proposed lab has four machines, two of which I already owned:

MachineSpecificationJob
Surface Laptop Go 2Core i5-1035G, 8 GB RAM, 128 GB SSD, Windows 11SSH jump host
Dynabook RX73Core i5-6200U, 4 GB RAM, 512 GB HDD, Xubuntu 24.04Rust development and Git
Mini PC 14+ cores, 16+ GB RAM, 1 TB storageKubernetes, OpenShift, or OKD cluster
Mini PC 2N100-class CPU, 16 GB RAM, 1 TB storageDNS, HAProxy, and supporting services

The Surface remains the everyday machine, but Windows 11 has already developed strong feelings about its 128 GB disk. It will be a terminal, not a server. That also avoids swapping the one available monitor between machines, which is technically possible but spiritually expensive.

The old Dynabook had spent years asleep because Windows 10 plus Chrome could flatten its 4 GB of memory. A light Linux desktop turned it back into a useful development box. It will host VS Code and the Rust toolchain, then push work to GitHub.

Split compute from plumbing #

Mini PC 1 is the compute node. The plan is to run KVM or RDO and build a deliberately small cluster: one control-plane VM and three workers. A modern four-core i5 or Ryzen 5000-class processor with at least 16 GB of memory should leave enough headroom for experiments.

Mini PC 2 owns the supporting services—dnsmasq, HAProxy, and whatever other plumbing the cluster requires. An Intel N100-class box should be sufficient and inexpensive. Keeping these services separate means the compute machine can be rebuilt without taking the lab’s front door with it.

The combined budget target is ¥70,000–80,000. That constraint is useful. Buying a heroic machine before the workload is understood mostly purchases expensive idle time.

Build something before building everything #

Only the Rust machine is ready today, so the first deliverable is a Rust-based AI chatbot. My last serious application development was Java in technical school; most of my career since then has been infrastructure construction and operations.

That makes a small end-to-end application the right starting point. It gives the future cluster something real to host and forces development, packaging, deployment, and operation to meet one another. A home lab without a workload is furniture. A modest app that you can deploy, observe, and occasionally ruin is a curriculum.

Related articles