<p>How does Kubernetes schedule deployments that don't define memory or cpu request/limit?</p>
<p>i.e. spec.containers[].resources is missing from the deployment.</p>
<p>When calling <code>kubectl describe node node_name</code> on a node running such pod the resources section displays the following:</p>
<pre><code>Name       CPU Requests CPU Limits  Memory Requests  Memory Limits
Pod_Name       0 (0%)      0 (0%)       0 (0%)         0 (0%)
</code></pre>
<p>What does it mean?</p>
<p>I couldn't find any documentation.</p>
<p>Some Helm chart default configuration are missing the resources section and I don't know what is the effect.</p>

<p>If a container <code>requests</code> a resource, Kubernetes will only schedule it on a node that can give it that resource. <code>Limits</code>, on the other hand, make sure a container never goes above a certain value. The container is only allowed to go up to the <code>limit</code>, and then it is restricted.</p>
<p>Without any mention of <code>requests</code> and <code>limits</code> a pod can get scheduled to a node which does not have resources to satisfy's the pods need and the pod can get killed when no more resource is available in the node.</p>
<p>The output is showing <code>0</code> because there is no <code>requests</code> and <code>limits</code> in the deployment yaml.</p>
