0

I'm new Kubernetes and am setting up a raspberry pi cluster at home and I want to put Kubernetes on it. I have 4 new raspberry pi 4s with 8gb each and one old raspberry pi 2+. There are several hardware differences between the two models but I think technically I can make the old pi2 the master node to manage the pi4s. I'm wondering if this is a good idea. I don't really understand what the consequences of this would be. For instance if I was to expand my little cluster to 8 or 16 pi4s in the future, would my one pi2 be overloaded in managing the workers? I'm really trying to understand the consequences of putting lower grade hardware in control of higher grade hardware in the master/worker node relationship in Kubernetes.

There are three main goals that I have for this hardware. I want to recreate an entire development environment, so some VMs that would host a testing environment, a staging environment, a dev environment, and then a small production environment for hosting some toy website, and then I want to be able to host some services for myself in Kubernetes like a nas storage service, a local github repo, an externally facing plex media server, stuff like that. I think I can use k8s to containerize all of this, but how will having a pi2 as master limit me? Thanks in advance.

1
  • Try it and see -- it's not that much effort. Check out K3S Mar 20, 2021 at 8:28

1 Answer 1

1

Should the master node's hardware be the same as the worker node's hardware for a Kubernetes setup?

The control plane (master nodes) and the data plane (worker nodes) are completely different workloads. You can use very different hardware or virtual machines if you want.

You can use some with x86, some other nodes with arm64 or even Windows nodes are supported as worker nodes. But you probably need groups for your nodes, since the application typically only run on a specific type of nodes and it is easier to understand e.g. metrics if the application run its instances on the same type of nodes.

Not the answer you're looking for? Browse other questions tagged or ask your own question.