My aim is to build put together a small cluster to get started, and to add more nodes in the future. It needs to be small, portable and possible to run standalone.
Nodes
1 x Master Node - Raspberry Pi 4 (4Gb)
1 x Worker Node - Raspberry Pi 4 (4Gb)
2 x Worker Nodes - Raspberry Pi 4 (2Gb)
DigitSpace have kindly sponsored the three Raspberry Pi boards, along with SD Cards and heat sinks for each one. Without their input I wouldn't have been able to get this project underway.
Networking
To network the cluster together I will use an 8 port Gigabit PoE network switch. It will enable full advantage of the Pi4 and Gigabit ethernet ports, and power the cluster without needing additional power cables.
Display
Originally I had planned to run an official Pi 7" touch screen on the master node to display cluster data and suchlike. With me moving to a different case plan, there is not longer that option.
I have a plan to investigate to use an m5Stack to query the master node for information and use it to present stats instead of the screen.
Should the m5Stack's small screen not be sufficient, I also have a 4.3" Nextion Serial Display which I can connect it for a fuller dashboard.
Frame
The prototype frame was built from Totem's Maker kit. The beams and brackets allow for great flexibility and mounting. I Have recently reviewed their Mini Lab kit, and have really loved the lab's form factor for working with, so I intend to keep the frame as close to that form factor as I can.
Once I settled on my plan for a four node cluster without a screen I was able to pick up a pre-existing four node acrylic case.
Software
I am going to look into setting up this device as a Kubernetes cluster running Openfaas. This should enable me to run .NET Core and python applications easily and handle a lot of cluster tasks for me.
Following several trials with k8s and Microk8s I have settled on k3s, a lightweight kubernetes framework ideal for SBCs.