# Kubernetes Pod Level Resources Graduated 😈

> Helm or Kustomize, which one to use?

Source: https://extim.su/blog/kubernetes-pod-level-resources-graduated-😈/

<h2><i class="nf nf-dev-kubernetes"></i> Kubernetes v1.34: Pod Level Resources Graduated in beta</h2>
<p>Kubernetes 1.34 introduced the ability to set CPU and memory for the whole Pod, not just individual containers. This simplifies resource management and increases the efficiency of the Pod with multiple containers.</p>
<h2>Why does Pod-level specification matter?</h2>
<p>This feature enhances resource management in Kubernetes by offering <em>flexible resource management</em> at both the Pod and container levels.</p>
<h2>How to specify resources for an entire Pod</h2>
<pre class="language-yaml"><code class="language-yaml"><span class="token key atrule">apiVersion</span><span class="token punctuation">:</span> v1
<span class="token key atrule">kind</span><span class="token punctuation">:</span> Pod
<span class="token key atrule">metadata</span><span class="token punctuation">:</span>
  <span class="token key atrule">name</span><span class="token punctuation">:</span> pod<span class="token punctuation">-</span>resources<span class="token punctuation">-</span>demo
  <span class="token key atrule">namespace</span><span class="token punctuation">:</span> pod<span class="token punctuation">-</span>resources<span class="token punctuation">-</span>example
<span class="token key atrule">spec</span><span class="token punctuation">:</span>
  <span class="token comment"># The 'resources' field at the Pod specification level defines the overall</span>
  <span class="token comment"># resource budget for all containers within this Pod combined.</span>
  <span class="token key atrule">resources</span><span class="token punctuation">:</span> <span class="token comment"># Pod-level resources</span>
    <span class="token comment"># 'limits' specifies the maximum amount of resources the Pod is allowed to use.</span>
    <span class="token comment"># The sum of the limits of all containers in the Pod cannot exceed these values.</span>
    <span class="token key atrule">limits</span><span class="token punctuation">:</span>
      <span class="token key atrule">cpu</span><span class="token punctuation">:</span> <span class="token string">"1"</span> <span class="token comment"># The entire Pod cannot use more than 1 CPU core.</span>
      <span class="token key atrule">memory</span><span class="token punctuation">:</span> <span class="token string">"200Mi"</span> <span class="token comment"># The entire Pod cannot use more than 200 MiB of memory.</span>
    <span class="token comment"># 'requests' specifies the minimum amount of resources guaranteed to the Pod.</span>
    <span class="token comment"># This value is used by the Kubernetes scheduler to find a node with enough capacity.</span>
    <span class="token key atrule">requests</span><span class="token punctuation">:</span>
      <span class="token key atrule">cpu</span><span class="token punctuation">:</span> <span class="token string">"1"</span> <span class="token comment"># The Pod is guaranteed 1 CPU core when scheduled.</span>
      <span class="token key atrule">memory</span><span class="token punctuation">:</span> <span class="token string">"100Mi"</span> <span class="token comment"># The Pod is guaranteed 100 MiB of memory when scheduled.</span>
  <span class="token key atrule">containers</span><span class="token punctuation">:</span>
  <span class="token punctuation">-</span> <span class="token key atrule">name</span><span class="token punctuation">:</span> main<span class="token punctuation">-</span>app<span class="token punctuation">-</span>container
    <span class="token key atrule">image</span><span class="token punctuation">:</span> nginx
    <span class="token punctuation">...</span>
    <span class="token comment"># This container has no resource requests or limits specified.</span>
  <span class="token punctuation">-</span> <span class="token key atrule">name</span><span class="token punctuation">:</span> auxiliary<span class="token punctuation">-</span>container
    <span class="token key atrule">image</span><span class="token punctuation">:</span> fedora
    <span class="token key atrule">command</span><span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token string">"sleep"</span><span class="token punctuation">,</span> <span class="token string">"inf"</span><span class="token punctuation">]</span>
    <span class="token punctuation">...</span>
    <span class="token comment"># This container has no resource requests or limits specified.</span></code></pre>
<p>Details: <a href="https://links.extim.su/8piYziJ">https://links.extim.su/8piYziJ</a></p>

