This workshop has been deprecated and archived. The new Amazon EKS Workshop is now available at

Implement Autoscaling with Karpenter

In this section you will setup Karpenter. Karpenter automatically launches just the right compute resources to handle your cluster’s applications. It is designed to let you take full advantage of the cloud with fast and simple compute provisioning for Kubernetes clusters.


Karpenter’s goal is to improve the efficiency and cost of running workloads on Kubernetes clusters. Karpenter works by:

  • Watching for pods that the Kubernetes scheduler has marked as unschedulable
  • Evaluating scheduling constraints (resource requests, nodeselectors, affinities, tolerations, and topology spread constraints) requested by the pods
  • Provisioning nodes that meet the requirements of the pods
  • Removing the nodes when the nodes are no longer needed
  • With the right infrastructure, karpenter managed the node termination handling