Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Should You Use PM2, Node Cluster, or Neither in Kubernetes?

I am deploying some NodeJS code into Kubernetes. It used to be that you needed to run either PM2 or the NodeJS cluster module in order to take full advantage of multi-core hardware.

Now that we have Kubernetes, it is unclear if one must use one or the other, to get the full benefit of multiple cores.

Should a person specify the number of CPU units in their pod YAML configuration?

Or is there simply no need to account for multiple cores with NodeJS in Kubernetes?

like image 461
Randy L Avatar asked Sep 25 '18 15:09

Randy L


Video Answer


1 Answers

You'll achieve utilization of multiple cores either way; the difference being that with the nodejs cluster module approach, you'd have to "request" more resources from Kubernetes (i.e., multiple cores), which might be more difficult for Kubernetes to schedule than a few different containers requesting one core (or less...) each (which it can, in turn, schedule on multiple nodes, and not necessarily look for one node with enough available cores).

like image 141
samhain1138 Avatar answered Nov 15 '22 20:11

samhain1138