kube-aws-autoscaler adjusted AWS Auto Scaling Group capacity using the Kubernetes cluster's current state and configured resource buffers. It was useful for keeping enough machines available across selected groups and availability zones without manually changing the desired node count. This entry concerns hjacobs' historical controller, whose upstream recommends Cluster Autoscaler instead. A replacement must take over the same capacity deliberately, because two controllers changing one group's size can work against each other.
Current guidance
This record identifies hjacobs/kube-aws-autoscaler, not the Kubernetes project’s Cluster Autoscaler. Its README explicitly states that it is no longer maintained and recommends the official Cluster Autoscaler. The old implementation calculated AWS Auto Scaling Group desired capacity from cluster state, buffers and availability-zone constraints.
Inventory the ASGs it manages, node labels, zone layout, resource buffers and scale-down exclusions before changing ownership. The old project’s algorithm and the current Cluster Autoscaler’s scheduling simulation are not interchangeable simply because both modify desired node counts. Match the replacement’s Kubernetes version and AWS configuration to the actual cluster.
Test a pending workload with node selectors, capacity limits and zonal storage, then observe both successful scale-up and safe scale-down. Confirm disruption budgets and non-evictable workloads are respected and that AWS permissions are scoped to intended groups. Run only one controller responsible for a given node group’s desired capacity. The original README’s old production experience is historical evidence, not a current support or reliability guarantee.
Historical upstream link check · 2026-10-09
The recorded upstream address responded successfully (HTTP 200) on 2026-10-09. GitHub marks hjacobs/kube-aws-autoscaler as archived. This confirms the repository's read-only archive state; any successor or supported distribution needs separate evidence. Link availability does not certify the historical installation instructions or current security support.
Website availability is separate from project, chart and image support. Use the current guidance and primary sources on this page to assess the distribution.
Historical Kubedex content
Original publication: 2018-09-27T09:57:14+00:00. Preserved for context. Commands, versions, prices and results below reflect the original research.
Simple cluster autoscaler for AWS Auto Scaling Groups which sets the DesiredCapacity of one or more ASGs to the calculated number of nodes.
Goals:
- support multiple Auto Scaling Groups
- support resource buffer (overprovision fixed or percentage amount)
- respect Availability Zones, i.e. make sure that all AZs provide enough capacity
- be deterministic and predictable
- i.e. the DesiredCapacity is only calculated based on the current cluster state
- scale down slowly to mitigate service disruptions, i.e. at most one node at a time
- support “elastic” workloads like daily up/down scaling
- support AWS Spot Fleet (not yet implemented)
- require a minimum amount of configuration (preferably none)
- keep it simple
This autoscaler was initially created as a proof of concept and born out of frustration with the “official” cluster-autoscaler:
- it only scales up when “it’s too late” (pods are unschedulable)
- it does not honor Availability Zones
- it does not support multiple Auto Scaling Groups
- it requires unnecessary configuration
- the code is quite complex
The post kube-aws-autoscaler appeared first on kubedex.com.
Sources & further reading
Spotted something that needs another look?
Help improve this page →