<p>I want to know if there is a way to use autoscalers in Kubernetes with pods directly created from a &quot;pod creation yaml files&quot; not the pods created as part of a higher-level controller like deployments or replicasets?</p>

Saeid Ghafouri
<p>The short answer to your question is no.</p>
<p><code>Horizontal Pod Autoscaler</code> changes the number of replicas of a <code>Deployment</code> reacting to changes in load utilization. So you need a <code>Deployment</code> for it to work.</p>
<p>Regarding <code>Vertical Pod Autoscaler</code>, I think it should work with spare pods as well, but only at Pod creation time. In fact, I read the following statement in the <a href="https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler#known-limitations" rel="nofollow noreferrer">Known limitations</a> section of the README:</p>
<blockquote>
<p>VPA does not evict pods which are not run under a controller. For such
pods Auto mode is currently equivalent to Initial.</p>
</blockquote>
<p>That sentence make me conclude that VPA should work on Pods not backed by a Controller, but in a limited way. In fact, the <a href="https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler#quick-start" rel="nofollow noreferrer">documentation about <code>Initial</code> mode</a> states:</p>
<blockquote>
<p>VPA only assigns resource requests on pod creation and never changes
them later.</p>
</blockquote>
<p>Making it basically useless.</p>
