<p>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. </p>

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

<p>Should a person specify the number of <a href="https://kubernetes.io/docs/tasks/configure-pod-container/assign-cpu-resource/#cpu-units" rel="noreferrer">CPU units</a> in their pod YAML configuration? </p>

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

<p>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).</p>
