MicroK8s 4 Node Cluster - The Hardware
If you are looking for a reliable and affordable way to set up a microk8s cluster at home, you might want to consider using CableGeeker Cat 6 Ethernet Cables and a TP-Link 8 port switch. In this blog post, I will show you how I used these products to create a 4 node microk8s cluster of Lenovo M600 mini PCs, and share some of the benefits of this setup.
Microk8s is a lightweight Kubernetes distribution that can run on low-power devices, such as Raspberry Pi or Intel NUC. It is ideal for learning Kubernetes, developing applications, or running small-scale workloads. However, if you want to scale up your cluster and have more computing power and storage, you might need to use more powerful machines, such as Lenovo M600.
Lenovo M600 is a tiny desktop PC that can fit in the palm of your hand. My nodes each have a quad-core Intel Pentium processor, 8 GB of RAM, and a 1TB SSD. They also has a Gigabit Ethernet port, which is essential for connecting to the network switch. You can find these PCs on eBay for around $40each, which is a great deal for a microk8s node (way cheaper than an RPi 4 atm 🤭 ).
To connect the nodes to the network switch, I used CableGeeker Cat 6 Ethernet Cables. These are high-quality cables that support up to 1 Gbps data transfer and 250 MHz bandwidth. They are also durable and flexible, with gold-plated connectors and snagless molds. I chose the 1 ft length because I wanted to minimize the cable clutter and keep the nodes close to the switch.
The network switch I used is the TP-Link TL-SG108 8 port Gigabit switch. This is a simple plug-and-play switch that does not require any configuration or management. It has a metal casing that is sturdy and heat-resistant. It also has a green technology that saves power by adjusting the port speed and cable length.
To set up the microk8s cluster, I followed the official documentation from Canonical (replace RPis with M600s). I installed Ubuntu Server 20.04 LTS, minimal server, on each node using a USB flash drive. Then I installed microk8s using snap and joined the nodes using the join command. The whole process was very easy and straightforward as described here.
The result is a 4 node microk8s cluster that has a total of 16 CPU cores, 32 GB of RAM, and 4 TBs of SSD. It can run multiple pods and services, such as Nginx Proxy Manager, Ghost, Longhorn (distributed storage!), CloudFlared, etc. It also supports features such as load balancing, ingress, storage, DNS, and dashboard. The cluster is fast and stable, thanks to the Gigabit Ethernet connection and the Cat 6 cables.
Overall, I am very happy with my microk8s cluster using CableGeeker Cat 6 Ethernet Cables and a TP-Link 8 port switch. It is a cost-effective and fun way to learn and experiment with Kubernetes at home.