I'm now trying to deploy my node.js app with nginx over Google Container Engine, which uses kubernetes. However, the least productive yet cheapest CPU, f1-micro, requires you to use at least 3 nodes in your cluster. The g1-small, the next cheapest CPU lets you start with 1 node in your cluster.

However, I don't understand which route I should go with; specifically, I would like to ask which of the two options between more nodes and better CPU is better for what?

I know more nodes are better in case of the failure of the nodes, but except that, I don't understad which I should take. My app is simple enough that it is only one node.js app which uses HTTPS, nginx, and MySQL, which is going to be put into one pod. Or is a cluster using only one node mostly useless in GKE? What kind of tasks can one do better than the other?

  • It's not that much about CPU. All of Kubernetes would simply overwhelm the limited RAM of an f1-micro instance and leave you with little or nothing in which to run your own application. – Michael Hampton Feb 9 '17 at 17:23

To answer your question, first I'd like to reword your question. You're asking should I scale my application deployed on Google Container Engine (GKE) horizontally or vertically (Scale-out vs Scale-up). I'd say depends on your business and technical requirements. Fortunately, this is a well discussed subject and you can read some discussions about it on this thread.

One of Google Container Engine features is that your cluster can horizantally be resized with a command or you can use Cluster Autoscaler to automatically resize your cluster whenever your scheduled pods needs more room.

That being said, I'd recommend creating a checklist of your requirements and plan based on that and consider your priorities.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.