<p><a href="https://stackoverflow.com/questions/45573825/pod-will-not-start-due-to-no-nodes-are-available-that-match-all-of-the-followin/45585916#45585916">pod will not start due to &quot;No nodes are available that match all of the following predicates:: Insufficient cpu&quot;</a></p>

<p>In the above question, I had an issue starting a deployment with 3 containers. </p>

<p>Upon further investigation, it appears there is only 27% of the CPU quota available - which seems very low. The rest of the CPU seems to be assigned to some default bundled containers.</p>

<p>How is this normally mitigated? Is a larger node required? Do limits need to be set manually? Are all those additional containers necessary?</p>

<p>1 cpu for a single node cluster is probably too small.</p>

<p>From the containers in the original answer, both the dashboard and fluentd can be removed:</p>

<ul>
<li>the dashboard is just a web UI, which can go away if you use <code>kubectl</code> (which you should, IMO);</li>
<li>fluentd should be reading the log files on disk to ship them somewhere (GCP's log aggregation, I think).</li>
</ul>

<p>The unnecessary containers should be tied to a <code>Deployment</code> or <code>ReplicaSet</code>, which can be listed with <code>kubectl get deployment</code> and <code>kubectl get rs</code>, respectively. You can then <code>kubectl delete</code> them.</p>

<p>Increasing the resources on the node should not change the requirements for the basic pods, meaning they should all be free scheduling.</p>
