title: what is kubernetes memory commitment limits on worker nodes?
body: <p>I am running single node K8s cluster and my machine has 250GB memory. I am trying to launch multiple pods each needing atleast 50GB memory. I am setting my pod specifications as following.</p>
  <p><a href="https://i.stack.imgur.com/xS1Em.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/xS1Em.png" alt="enter image description here" /></a></p>
  <p>Now I can launch first four pods and they starts &quot;Running&quot; immediately; however the  fifth pod is &quot;Pending&quot;. <code>kubectl describe pods</code> shows <code>0/1 node available; 1 insufficient memory</code></p>
  <p>now at first this does not make sense - i have 250GB memory so <strong>i should be able to launch five pods</strong> each requesting 50GB memory. <strong>shouldn't i?</strong></p>
  <p>on second thought - this might be too tight for K8s to fulfill as, if it schedules the fifth pod than the worker node has no memory left for anything else (kubelet kube-proxy OS etc). if this is the case for denial than <strong>K8s must be keeping some amount of node resources (CPU memory storage network) always free or reserved. What is this amount? is it static value or N% of total node resource capacity? can we change these values when we launch cluster?</strong></p>
  <p>where can i find more details on related topic? i tried googling but nothing came which specifically addresses these questions. can you help?</p>