THE LAZY GUIDE TO
KUBERNETES
with
EKS Auto Mode & Karpenter
THE LAZY GUIDE TO
KUBERNETES
with
EKS Auto Mode & Karpenter
Hey there!
I'm Julia Furst Morgado
Global Technologist at Veeam
AWS Container Hero
CNCF Ambassador
Organizer:
AWS Community Day NY
KCD NY
CNCF Meetup NY
@juliafmorgado
Control Plane
Managed by AWS
EKS account Customer account
Data Plane
Getting started with Amazon EKS today
Managed Node Group
Managed by Customer
Control Plane
Managed by AWS
EKS account Customer account
Data Plane
Scaling and Optimizing with CA
Managed Node Group
Managed by Customer
Cluster
Autoscaler
CHALLENGES
SLOW SCALING
WASTED RESOURCES
Cluster Autoscaler reacts slowly and
only works with ASGs.
Overprovisioning + idle nodes
= high cost, low efficiency
Pod auto
scaling
Pending pods
Cluster
Autoscaler
Auto
Scaling
Group
VM Fleet
(instant)
Pod auto
scaling
Pending pods
NodePool NodeClass
Cluster
Autoscaler
Auto
Scaling
Group
VM Fleet
(instant)
Control Plane
Managed by AWS
EKS account Customer account
Data Plane
Scaling and Optimizing with Karpenter
Managed Node Group
Managed by Customer
Compute Flexibility
Instance type flexibility
Attribute-based requirements
→ sizes, families, generations,
CPU architecture
No list → picks from all
instance types in EC2 universe,
excluding metal
Limits how many EC2 instances
this NodePool can provision
Compute Flexibility
AZ flexibility
Provision in any AZ
Provision in specified AZs
Compute Flexibility
CPU architecture flexibility:
X86-64
Arm64
Compute Flexibility
Purchase options flexibility:
On-demand, if nothing specified
Prioritizes Spot if flexible to
both capacities types
Spot Instance Handling
2-min Spot instance interruption notice via Amazon EventBridge events
Set as environment variables in Karpenter controller Deployment object
NodePools can be configured for a mix of On-Demand and Spot
Karpenter has built-in Spot interruption handler
Not required to use Node Termination Handler
Workload Consolidation
After Bin-packing:
Better utilization of
worker nodes =
reduced costs
Workload Consolidation
After Bin-packing:
Better selection of
worker nodes =
reduced costs
Other
CHALLENGES
SLOW SCALING
WASTED RESOURCES
Cluster Autoscaler reacts slowly and
only works with ASGs.
Overprovisioning + idle nodes
= high cost, low efficiency
"I just want to run my application
on EKS and not worry about all
these management overhead"
MANUAL
INFRASTRUCTURE
Node groups, instance types,
scaling policies, networking,
RBAC, multi-AZ setup → too
much infra work
OPS OVERHEAD
Infra maintenance, upgrades,
cost tuning, learning curve,
continuous monitoring = burnout
FRAGILITY
Small misconfigs cause
outages. Stateful apps still
feel risky.
Control Plane
Managed by AWS
EKS account Customer account
Data Plane
Managed Node Group
Managed by Customer
Manage Worker Nodes (select and provision ideal compute)
Control Plane
Managed by AWS
EKS account Customer account
Data Plane
Managed Node Group
Managed by Customer
Upgrade Control Plane (Test and upgrade addons, upgrade
AMIs)
I just want to run
my applications on
EKS and not worry
about all these
management
overhead
Control Plane Capabilities
Managed by AWS Managed by Customer
EKS account Customer account
Data Plane
Compute
Networking
Storage
Managed EC2 instances
EKS with Self
Managed Karpenter
Manage Karpenter and other addons
Manage worker nodes
Can use any EKS Optimized or custom AMIs
Run undefinitely (not recommended) or choose custom
hours/days
Automatically rightsizes and optimize cost
Automatically upgrade data plane or control when, test
and update addons
No additional cost, OSS Karpenter is free
AWS manages Karpenter and core addons (EBS CSI, LB
Controller)
AWS manages worker nodes
Bottlerocket AMIs only
No SSH into nodes
Worker nodes will recycle after max 21 days (default
14), you can't delay it
Automatically rightsizes and optimize cost
AWS automatically upgrade data plane update addons
that works
Additional 12% Ondemand EC2 cost
Security patches auto-applied
Disruption budgets respected
EKS Auto Mode
EKS with Self
Managed Karpenter
Have in-house Karpenter knowledge
Have a platform team to manage cluster and addons
You have requirements to use custom AMIs, or non
expriring worker nodes
need to use custom AMIs or install specific agents or
software on the nodes
need advanced networking options like security groups
per pod or custom CNI
need full control over the upgrade process (cluster,
nodes, controllers)
Want to go to market as fast as possible with
Kubernetes
Want to reduce operational overhead and simplify
cluster operations?
If you've been loiking to use EKS Fargate but couldn't
due to limitations
You don't have a platform team and want to focus on
delivering business value
You don't have nuanced requirements to use custom
AMIs, non expiring worker nodes
EKS Auto Mode
no infrastructure,
simplicity fast start,
low control
fine-grained tuning,
flexibility, enterprise-
grade
Want to Go
Deeper?
1.karpenter.sh
2.https://catalog.workshops.aws/eks-auto-mode/en-US
3.https://repost.aws/articles/AR637CJk9PRQ-sEKla-OMfVg/aws-
re-invent-2024-simplify-kubernetes-workloads-with-
karpenter-amazon-eks-auto-mode
4.https://repost.aws/articles/ARpmjGWmwWQuiGg3_NOnfLDg/e
ks-automode-vs-karpenter
www.juliafmorgado.com
@juliafmorgado
THANK
YOU!
THANK
YOU!

Julia Furst Morgado The Lazy Guide to Kubernetes with EKS Auto Mode + Karpenter