Sign inSign up

deitch/aws-asg-roller

By deitch

Updated over 5 years ago

Manage rolling upgrades for AWS autoscaling groups

Image
1

10K+

deitch/aws-asg-roller repository overview

Amazon Web Services AutoScaling Group Roller

Rolling updates for AWS AutoScaling Groups!

AWS AutoScaling Groups (ASG) are wonderful. They let you declare a config, a minimum and maximum number of ec2 nodes, a desired number, and it keeps that number going for you. It even lets you set it up to scale up or down automatically based on cloudwatch events, effectively adjusting the desired number of nodes in the ASG, in response to load.

The challenge is: how do you update it?

If you change the launch configuration, it does not cause new nodes to be rolled in. Even if it did, you would want them to roll in sanely and slowly, one at a time, rather than all at once. Further, you may have app-specific "readiness" requirements, of which AWS simply isn't aware. For example, if you are running Kubernetes workloads on the nodes, you may want to drain the nodes before terminating a node.

aws-asg-roller watches your autoscaling groups. When the launch configuration is different from that on any of the nodes, it automatically:

  1. Increases the size of the ASG to add a new node
  2. Terminates one of the old nodes
  3. Repeats until only properly configured nodes are running

aws-asg-roller is Kubernetes-aware. It can ensure that the new node is up and ready not just from AWS' perspective, but from Kubernetes' as well. It even can drain an old node before terminating it!

See details at https://github.com/deitch/aws-asg-roller

Tag summary

Content type

Image

Digest

Size

14.9 MB

Last updated

over 5 years ago

docker pull deitch/aws-asg-roller:287ae205b21d57545261a53cfe8745fa34ca69cf