๐ง My Reasoning for the Upgrade
Running Kubernetes on a single machine was a great way to get started. It was easy to manage, simple to test deployments, and perfect for learning. But over time, I ran into several limitations.
With just one node, I couldnโt truly explore:
- ๐ Scheduling across multiple nodes
- ๐ฐ๏ธ Cluster communication and service discovery
- โ๏ธ High Availability (HA) deployments
- ๐ฅ Disaster recovery scenarios
- ๐ Horizontal scaling and load balancing
๐ธ The Upgrade
I decided to invest in a few low-cost Mini PCs to build out a proper cluster. I found a great option on Amazon: the OUMAX Mini PC. These are currently priced at just $141.54 USD.
They offer a solid set of specs for a home lab:
- ๐ง CPU: Intel N150 (4 cores, 4 threads)
- ๐พ RAM: 16GB
- ๐ฆ Storage: 500GB NVMe SSD
- ๐ Networking: 2 x 2.5GbE NICs
๐๏ธ The New Lab Design
With three of these units, Iโm now running a multi-node Kubernetes cluster where each node acts as both a control plane and a worker. The dual NICs let me physically separate:
- ๐ Internal traffic: cluster and storage communications
- ๐ External traffic: ingress/egress to the internet
This setup allows me to:
- ๐ Simulate node failure and recovery
- ๐ ๏ธ Add/remove nodes dynamically
- ๐ก Test longhorn and NFS over an isolated backend network
- ๐ Analyze service behavior under load
๐ฅ๏ธ What About the Old Machine?
The original system isnโt going away. Iโll be dedicating it to GPU-related workloads. Itโs perfect for testing things like:
- ๐ง AI models with the NVIDIA toolkit
- ๐ฅ Media workloads like transcoding and inference
๐งช Whatโs Next?
Iโm considering picking up a fourth Mini PC and running Windows Server 2019/2022 on it. This would let me experiment with Windows containers and hybrid clusters.
๐ก I know Microsoft recommends Azure or Azure Stack HCI for Windows-based pods, but Iโm curious to see whatโs possible in a pure local setup. Even if itโs not ideal, the experience alone will be valuable.
๐งต TL;DR
My lab just leveled up. Going from one node to a real multi-node Kubernetes setup opens the door to high availability, better simulation of production-grade environments, and hands-on experimentation with real-world scenarios โ all without breaking the bank.