<p>For the needs of a project i have created 2 Kubernetes clusters on GKE.</p>
<p><strong>Cluster 1</strong>: 10 containers in <em>one Pod</em></p>
<p><strong>Cluster 2</strong>: 10 containers in 10 <em>different Pods</em></p>
<p>All containers are connected and constitute an application.</p>
<p>What i would like to do is to generate some load and observe how the vpa will autoscale the containers..</p>
<p>Until now, using the &quot;<strong>Auto</strong>&quot; mode i have noticed that VPA changes values only once, at the begin and not while i generate load
and
that the Upper Bound is soo high, so it doesn't need any change!</p>
<p>Would you suggest me:</p>
<p><strong>1)</strong> to use Auto or Recommendation mode?</p>
<p>and</p>
<p><strong>2)</strong> to create 1 or 2 replicas of my application?</p>
<p>Also i would like to say that 2 of 10 containers is <strong>mysql</strong> and <strong>mongoDB</strong> . So if i have to create 2 replicas, i should use <strong>statefulsets or operators</strong>, right?</p>
<p>Thank you very much!!</p>

<p>Not sure you mean it when you say this</p>
<blockquote>
<p>Cluster 1: 10 containers in one Pod</p>
<p>Cluster 2: 10 containers in different Pods</p>
</blockquote>
<p>At very first you are not following best practice, ideally, you should be keeping the single container in a single POD</p>
<p>Running 10 containers in one pod that too much, if there is interdependency your code should be using the K8s service name to connect to each other.</p>
<blockquote>
<p>to create 1 or 2 replicas of my application?</p>
</blockquote>
<p>Yes, that would be always better to run multiple replicas of the application so if due to anything even node goes down your POD on another node would be running.</p>
<blockquote>
<p>Also i would like to say that 2 of 10 containers is mysql and mongoDB
. So if i have to create 2 replicas, i should use statefulsets or
operators, right?</p>
</blockquote>
<p>You can use the operators and stateful sets both no in it, it's possible operator idally create the stateful sets.</p>
<p>Implementing the replication of MySQL across the replicas would be hard manually unless you have good experience as DBA and you are aware.</p>
<p>While with operator you will get the benefit both auto backup, replication auto management and other such things.</p>
<p>Operators indirectly creates the stateful set or deployment but you won't have to manage much and worry about the replication and failover planning and DB strategy.</p>
