<p>When I launch a pod with the following limits/request:</p>
<pre><code>    resources:
  limits:
    cpu: &quot;3500m&quot;
    memory: &quot;8192Mi&quot;
    ephemeral-storage: &quot;5Gi&quot;
  requests:
    cpu: &quot;500m&quot;
    memory: &quot;512Mi&quot;
    ephemeral-storage: &quot;2Gi&quot;
</code></pre>
<hr />
<p>Autopilot modifies the resources limits and set them equals to the request ones:</p>
<blockquote>
<p>autopilot.gke.io/resource-adjustment: {&quot;input&quot;:{&quot;containers&quot;:[<strong>{&quot;limits&quot;:{&quot;cpu&quot;:&quot;3500m&quot;,&quot;ephemeral-storage&quot;:&quot;5Gi&quot;,&quot;memory&quot;:&quot;8Gi&quot;}</strong>,&quot;requests&quot;:{&quot;cpu&quot;:&quot;500m&quot;,&quot;ephemeral-storage&quot;:&quot;2Gi&quot;,&quot;memory&quot;:&quot;512Mi&quot;},&quot;name&quot;:&quot;prueba-init-container&quot;}]},&quot;output&quot;:{&quot;containers&quot;:[<strong>{&quot;limits&quot;:{&quot;cpu&quot;:&quot;500m&quot;,&quot;ephemeral-storage&quot;:&quot;2Gi&quot;,&quot;memory&quot;:&quot;512Mi&quot;}</strong>,&quot;requests&quot;:{&quot;cpu&quot;:&quot;500m&quot;,&quot;ephemeral-storage&quot;:&quot;2Gi&quot;,&quot;memory&quot;:&quot;512Mi&quot;},&quot;name&quot;:&quot;prueba-init-container&quot;}]},&quot;modified&quot;:true}
seccomp.security.alpha.kubernetes.io/pod: runtime/default</p>
</blockquote>

Fran Arenas
<p><strong>Resource limits need to be equal to requested resources for GKE autopilot</strong></p>
<p>That is the default behavior of the GKE <strong>autopilot</strong>. <a href="https://cloud.google.com/kubernetes-engine/docs/concepts/autopilot-overview#allowable_resource_ranges" rel="noreferrer">Read More</a></p>
<p>Perhaps, this restriction is to make it easier for Google to bill you better, with <strong>GKE</strong> Autopilot, you lose the ability to set a resource limit higher than the requested CPU and memory resources.</p>
<p>You need to ensure that you give from the start enough resources to your pod, no less, no more.</p>
<p>This is not a mistake. If you try to set a higher limit, <a href="https://cloud.google.com/kubernetes-engine/docs/concepts/autopilot-resource-requests#resource-limits" rel="noreferrer">GKE Autopilot will just override your limit and make it equal to the requested value</a>.</p>
<p><strong>Resource limits</strong></p>
<blockquote>
<p>In an Autopilot cluster, each Pod is treated as a Guaranteed QoS Class
Pod, with limits that are equal to requests. Autopilot automatically
sets resource limits equal to requests if you do not have resource
limits specified. If you do specify resource limits, your limits will
be overridden and set to be equal to the requests.</p>
</blockquote>
