What is the preferred way of installing Kubernetes on AWS if resizing the cluster is a concern?

5/5/2016

While trying to install Kubernetes on AWS, I have come across two major ways of doing things.

The first one is to use the deploy scripts that come packaged with Kubernetes to create a Kubernetes cluster on AWS. Another one is to use CoreOS based kube-aws tool to run a cluster.

What are the major advantages and disadvantages of the two approaches?

However, I have not been able to understand how one can resize an existing live cluster without downtime in either of the two systems.

Is there any way to deploy a resizable Kubernetes cluster on AWS using tools or scripts? Alternatively, is it even possible to resize a live cluster? If yes, how can we do that without using a tool or a script (assuming none is available).

-- chbh
amazon-web-services
coreos
kubernetes

2 Answers

2/16/2017

kube-aws deploys both workers and controllers in their own ASG. Each can be scaled simply by changing the desired min/max on the ASG. kube-aws does now support multi-master.

-- deploycat
Source: StackOverflow

5/6/2016

The kube-aws tool utilizes an autoscaling group for the worker machines. You could resize this based on CloudWatch metrics like CPU/RAM, although this isn't set up by default. To scale it manually up or down, you can use the AWS console.

-- Rob
Source: StackOverflow