how to change existing kubernetes aws cluster with kops (change nodes type)

7/25/2017

I have deployed kubernetes cluster with kops....

kops create cluster --state=${STATE_STORE} --cloud=aws --zones=eu-west-2a,eu-west-2b --node-count=2 --node-size=t2.small --master-size=t2.small ${NAME} 

Is any way to change node-size after deployment? without deleting cluster...

-- Yevgeniy Ovsyannikov
amazon-web-services
kops
kubernetes

1 Answer

7/25/2017

Yes this is possible.

You need to run the command: kops edit ig --name=CHANGE_TO_CLUSTER_NAME nodes

This will bring up and editor screen similar to:

apiVersion: kops/v1alpha2
kind: InstanceGroup
metadata:
  creationTimestamp: "2017-07-01T12:06:22Z"
  labels:
    kops.k8s.io/cluster: URL_OF_CLUSTER
  name: nodes
spec:
  image: kope.io/k8s-1.6-debian-jessie-amd64-hvm-ebs-
  machineType: m3.large
  maxSize: 7
  minSize: 3
  role: Node
  subnets:
  - eu-west-1a

You can then make your edit's to the machine type and the Min / Max nodes required.

Once your done, exit out of the editor like you normally would. You will then need to run the command:

kops update cluster CHANGE_TO_CLUSTER_NAME --yes

That'll begin the update process - bear in mind you instances are going to disappear and any pods running on those instances will terminate. The scheduler should put them on another node if it can fit them on.

-- ajtrichards
Source: StackOverflow