5 Node Nano ITX Kubernetes Tower
I’ve just finished the latest addition to the home office. I call it my mini Kubernetes tower, a five node cluster built out of Nano ITX boards.
What is It for?
Software development. These days I deploy the server side applications that I build to Kubernetes. This will be my home development cluster.
What Is It Made of?
The cluster has a total of 16 physical cores, 40GB of memory and 720GB of SSD storage. Three of the nodes are passively cooled quad-core J1900 Celerons. The other two nodes have dual-core i3 processors.
The bottom layer contains an 8-port gigabit switch. On top of that is the first node: An SSD mounted on a piece of acrylic, a few mm of clearance, then the mainboard. The other nodes follow the same pattern.
The tower is 25cm tall and has a square footprint of 12.5 by 12.5cm.
The Build
I had some time to plan the build while waiting for all the parts to arrive. I decided to use acrylic sheets to mount the network switch and SSDs on, and threaded rods to hold everything together.
The hardest part of the build was figuring out how to drill close to the edges of acrylic sheets without causing breakages.
The trick was to use a very slow drilling speed, and to stop just before the drill bit poked through. I then turned the sheet over and drilled through the other side.
I took a 1m M3 threaded rod and cut it into 25cm pieces. I placed a spacer on each side of where I was going to cut, performed the cut and filed the ends. I then unwound the spacers off to rethread the ends.
I started with the top cover.
Then added the motherboard for the first node.
The SSD was next.
And the first node was done.
I had already installed Ubuntu 16.04 on each node before hand, but I made sure to test each node as the build progressed.
It would have been inconvenient to have to take a faulty part out from the middle of the stack.
I mounted the switch last.
And then crimped a bunch of cables and networked everything together.
I powered all the nodes up and finally, success: We have blinking lights!