Manage rolling upgrades for AWS autoscaling groups
10K+
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:
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
Content type
Image
Digest
Size
14.9 MB
Last updated
over 5 years ago
docker pull deitch/aws-asg-roller:287ae205b21d57545261a53cfe8745fa34ca69cf