<p>Running an application with <code>three services</code> on my local <code>minikube</code> while was installed on a server with <strong>16 cpus and 64 GB of memory</strong> , one <code>replicas</code> of which is 2, I only set resources.limits for each service, as shown below</p>

<pre><code>resources:
  limits:
    cpu: "2"
    memory: "209715200"
</code></pre>

<blockquote>
  <p>All service resource restrictions are the same.</p>
</blockquote>

<p>However, some service <code>pending</code> appears.</p>

<p>The pending Pod describe partial output is as follows</p>

<pre><code>Limits:
  cpu:     2
  memory:  209715200
Requests:
  cpu:     2
  memory:  209715200
...

Events:
  Type     Reason            Age        From               Message
  ----     ------            ----       ----               -------
  Warning  FailedScheduling  &lt;unknown&gt;  default-scheduler  0/1 nodes are available: 1 Insufficient cpu.
  Warning  FailedScheduling  &lt;unknown&gt;  default-scheduler  0/1 nodes are available: 1 Insufficient cpu.
</code></pre>

<blockquote>
  <p>The result of <code>kubectl get pod</code> is as follows</p>
</blockquote>

<pre><code>kubectl get pod
NAME                        READY   STATUS    RESTARTS   AGE
test1-777f54bcdb-pvfn5      1/1     Running   0          4m49s
test2-75ccb875b-lj9xl       1/1     Running   0          4m48s
test2-75ccb875b-s7xht       1/1     Running   0          4m48s
test3-797f6b795f-z9qv5      0/1     Pending   0          4m48s
</code></pre>

<blockquote>
  <p>The result of <code>kubectl top node</code> is as follows</p>
</blockquote>

<pre><code>kubectl top node
NAME CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
test   1057m        13%    31675Mi         50% 
</code></pre>

<blockquote>
  <p>minikube version</p>
</blockquote>

<pre><code># minikube version
minikube version: v1.9.2
commit: 93af9c1e43cab9618e301bc9fa720c63d5efa393
</code></pre>

<blockquote>
  <p>kubectl version</p>
</blockquote>

<pre><code>Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.0", GitCommit:"2bd9643cee5b3b3a5ecbd3af49d09018f0773c77", GitTreeState:"clean", BuildDate:"2019-09-18T14:36:53Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.0", GitCommit:"2bd9643cee5b3b3a5ecbd3af49d09018f0773c77", GitTreeState:"clean", BuildDate:"2019-09-18T14:27:17Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
</code></pre>

<p>I'm confused that my server configuration should be able to run this application, but it pend due to <strong>insufficient CPU</strong></p>

<p>Any comments would be greatly appreciated, thank you in advance!</p>

moluzhui
<p>Running minikube with stock configs isn't going to make use of all your hardware potential. Minikube allows you to create nodes as big as you need and this is very important because the majority of people are using minikube on their workstation besides other applications and they don't want minikube to have unrestricted access to use your hardware.</p>
<p>To start minikube with custom specs you can do as <a href="https://stackoverflow.com/a/61795256/12153576">Radek</a> described, where you specify the amount of cpus and memory while starting your minikube.</p>
<pre><code>$ minikube start --cpus N --memory N
</code></pre>
<p>Another option is to set these parameters as default:</p>
<pre><code>$ minikube config set cpus N
$ minikube config set memory N 
</code></pre>
<p>To check all configurable parameters you can run <code>minikube config</code>.</p>
<p>Another reason to have your nodes with limited resources is that you can have a minikube cluster with multiple nodes and also multiple clusters on one machine.
To create a minikube cluster with multiple nodes you can run:</p>
<pre><code>$ minikube start -n X
</code></pre>
<p>Where X is the number of desired nodes.</p>
<p>If you have a running minikube cluster and want to add another node to it, you can run:</p>
<pre><code>$ minikube node add
</code></pre>
<p>To create a secondary minikube cluster you can run:</p>
<pre><code>$ minikube start -p cluster-name
</code></pre>
<p>Where cluster-name is a name of your choice.</p>
