Capacity Planning - Worker node hardware specifications

For capacity planning, there are hardware recommendations for Rancher Server:

https://rancher.com/docs/rancher/v2.x/en/installation/ha-server-install/#hardware

That said, there are no hardware recommendations for Cluster nodes (workers) that the workload is deploy on. What is recommended? Also, for anyone running a production workload, what are you running and what do you recommend from your experience on Rancher 2 thus far? Please identify RAM, no of vCPUs and disk volume you are providing per node through your volume drivers. Thanks.

As for the worker, this is totally dependent on what workload you are expecting to run, it is not relevant to Rancher/Kubernetes/Docker itself.

You could be running a bunch of lightweight NGINX web server with low load and thus not need much, or you could be running super heavy data analytic processes that need tons of RAM and tons of CPU.

Thanks, I get this. What I am looking for is something of a starting point from which I can evaluate and move in direction or another. For example if it is the first scenario you are speaking of, perhaps recommending something of a starting point for that, for the second scenario suggesting a second that might fit better with the second scenario requirements.

I don’t think it is possible for Rancher or anyone to recommend without knowing exactly what your workload is. Even with the vague ideas I wrote of “lightweight NGINX”, it really depends on you. You’re the only one (or the maker of the software you run) that can say what you need, in my opinion. I don’t see how I, or anybody could tell you: “well, humm, if you run an NGINX web server, a box with 512MB of RAM and 1 CPU will be enough”. We could be right, we could be wrong. How many requests per seconds is this going to serve? Is it only static resources from disk, or is it PHP, or other server processing languages? How many different resources are in the site (how many files)? And again, what’s your response time requirement? The same site could run say on a small instance and be relatively OK, but running on an instance with SSD could improve response time (faster disk seek/read time to pull the resources from disk and send them to the user).

Or let’s say you’re running a Java SpringBoot application - that still does not mean anything. I have seen applications taking less than 256MB of RAM and others taking more than 6GB of RAM.

There is no way for us to tell, that I know of, what size of worker you need, in a generic kind of way. These are really not Rancher/Kubernetes/Docker factors but purely factors of the workload you are going to run on those.

I really wish I could tell you “just get a X” but I’m afraid that would be totally inappropriate.