<p>When using Kubernetes to manage your docker containers, particularly when using the replication controller, when should you increase an images running container instances to more than 1? I understand that Kubernetes can spawn as many container replicas as needed in the replication controller configuration file, but why spawn multiple running containers (for the same image) when you can just increase the Compute VM size. I would think, when you need more compute power, go ahead and increase the machine CPU / ram higher, and then only when you reach the max available compute power allowed, approx 32 cores currently at Google, then you would need to spawn multiple containers.</p>

<p>However, it would seem as if spawning multiple containers regardless of VM size would prove more high-availability service, but Kubernetes will respawn failed containers even in a 1 container replication controller environment. So what I can't figure out is, for what reason would I want more than 1 running container (for the same image) for a reason other than running out of VM Instance Compute size?</p>

<p>There are a variety of reasons for why you would scale an application up or down.  </p>

<p>The Kubernetes project is looking to provide auto-scaling in the future as a feature to dynamically size up and size down (potentially to 0) a replication controller in response to observed traffic.  For a good discussion on auto-scaling, see the following write-up:</p>

<p><a href="https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/proposals/autoscaling.md" rel="nofollow">https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/proposals/autoscaling.md</a></p>
