Kubernetes – Scaling up

Over time, as you run your applications in the Kubernetes cluster, you will find that some applications need more resources, whereas others can manage with fewer resources. Instead of removing the entire ReplicationControllers (and associated pods), we want a more seamless way to scale our application up and down.

Thankfully, Kubernetes includes a scale command, which is suited specifically for this purpose. The scale command works both with ReplicationControllers and the new Deployments abstraction. For now, we will explore its use with ReplicationControllers. In our new example, we have only one replica running. You can check this with a get pods command:

$ kubectl get pods -l name=node-js-scale

Let’s try scaling that up to three with the following command:

$ kubectl scale --replicas=3 rc/node-js-scale

If all goes well, you’ll simply see the scaled word on the output of your Terminal window.

Optionally, you can specify the --current-replicas flag as a verification step. The scaling will only occur if the actual number of replicas currently running matches this count.

After listing our pods once again, we should now see three pods running with a name similar to node-js-scale-XXXXX, where the X characters are a random string.

You can also use the scale command to reduce the number of replicas. In either case, the scale command adds or removes the necessary pod replicas, and the service automatically updates and balances across new or remaining replicas.

Comments are closed.