<p>I have a question regarding Kubernetes. In the non-container world, I have observed that a JVM with too less of RAM allocated will consume 100% CPU on all cores, because the garbage collector does not have enough memory and thus is run more often (I guess).</p>
<p>In Kubernetes, I often see containers used now. Can a Java process there do the same, but causing 100% CPU usage on an entire node, and in the process, bring that node down, provided that no requests and limits are configured, and the node is overprovisioned by other pods?</p>

<p>A kubernetes pod usually runs an application as a regular container which is basically a regular process. It depends on the scheduler how to handle high load.</p>
<p>Nevertheless you can limit the maximum resources that can be used and you should do that:
For each container you can specify the resource limits (preventing consumption of all resources) and requests (helping with optimal scheduling) like so:</p>
<pre><code>containers:
...
- image: ...
  resources:
    limits:
      cpu: 2500m
      memory: 500Mi
    requests:
      cpu: 300m
      memory: 500Mi
</code></pre>
