Is there a major difference between either CPU, RAM or Storage capacity needs for the leader or contributor nodes in a production K8S cluster?

I have already allocated 3 VPS for an initial multiple timezone cluster.

  • @12 single-core vCPUs
  • @≈50 GB RAM
  • @≈1TB SSD storage
  • 1 EST,1 CST,& 1 PST

Before I jump in however, I would like to know if there are there any major differences in resource usage between leader and contributor nodes?

ie:

  • Do leader nodes hold containers/replicas or simply orchestrate the contributor nodes (thus saving storage in ratio to contributors running containers and holding images, at least in theory).
  • Are there other workload splits between leader/contributors that would likewise cause a uneven ratio in either RAM or vCPU usage between nodes based on their leader/contributor roles respectively?

If I can provision a leader server that uses fewer resources than either its contributor node counterpart by ratio, especially in the storage department, then I may add another server as leader before initial deploy for three way, cross zone contributor load balancing, etc.

I understand “depends” is always the answer when asking for provisioning info… I want no specific use case info, just if Kubernetes eats resources between L/C nodes differently to a WIDE ratio in K8S due to role (of master/slave if leader/contrib not understood).

The different in usage between master and worker nodes is very significant in terms of RAM. Workers require less out of the box to run than the master nodes that host the control plane.

Also your “depends” condition can also be met with etcd being a separate from the master nodes. This makes the master nodes use a bit less CPU and RAM.

The best way to really get a grasp on the resource usage is to deploy a cluster, install metrics-server, and take a look at it.

On a final note, if you’re really aiming to get as much value as possible resource-wise, check out k3s. It is a very small Kubernetes distribution.

Thank you so much. Stack exchange said “that’s a provisioning question… inappropriate…” than gave me a two page speech why… thank God common sense still holds over here. Simple question, simple answer…

Gatekeeping is pretty lame. Everyone starts somewhere, don’t let that discourage you at all.

What sucks is I DO know how to do capacity planning, and the above question is an obvious one, but after going through the docs… an ironic nothing… Thank you so much. Now I can know where to put my SeeweedFS volumes with heavy writes, if Kube is no problem, this is my bottleneck… Thanks