Which one to use when EKS Automode and Karpneter
This article lists differences between the node management solution - Karpenter and EKS Automode
Key Differences:
1.Management Responsibility:
Karpenter: Users responsible for provisioning and managing Karpenter deployment, NodePools, NodeClasses, and EC2 instances
Auto Mode: Fully managed by AWS, including compute, networking, and storage capabilities
2.`Infrastructure Control:
Karpenter: Full control over EC2 instances, including SSH/SSM access
Auto Mode: No direct access to EC2 instances, managed by EKS using Bottlerocket OS
3.Architecture:
Karpenter: Runs inside your cluster as pods
Auto Mode: Controllers run in AWS-managed accounts, uses systemd processes for node-level components
4. Integration:
Karpenter: Standalone node provisioner
Auto Mode: Integrated solution leveraging Karpenter APIs with additional managed capabilities
5.Flexibility:
Karpenter: More flexible with custom AMIs and infrastructure configurations
Auto Mode: More restricted but offers simplified management and built-in best practices
Similarities:
1)Both support dynamic node provisioning
2)Both can handle pod scheduling requirements
3)Both support various instance types and purchasing options.
Requirements for Auto Mode:
1)Kubernetes version 1.29 or higher
2)Cannot use custom AMIs
3)Uses Bottlerocket OS exclusively
4)No direct host access or user data configurations
Comparison:
Aspects | EKS Auto-Mode | Karpenter |
---|
Controller Location | Runs in AWS-managed account | Runs inside customer cluster |
Infrastructure Management | Fully automated cluster management | Customer manages deployment and configuration |
Node Access | No SSH/SSM | Operating System |
Operating System | Managed Bottlerocket OS only | Flexible supports custom AMIs |
Core Features | | |
Node Provisioning | Automated based on pod demands | Automated based on pod demands |
Node Pools | Pre-configured general-purpose and system pools | Custom NodePools/NodeClasses |
Instance Types | Supports all EC2 options (requires custom NodePool) | Supports all EC2 options |
Spot Support | Built-in spot handling | Requires additional configuration |
Operational Aspects | | |
Node Rotation | Automatic every 14-21 days | Manual/custom configuration |
Add-ons Management | Core add-ons run as systemd processes | Customer managed add-ons |
Kubernetes Version | 1.29+ required | More flexible version support |
Node Configuration | No userdata/bootstrap container support | Supports custom configurations |
Networking | | |
CNI Options | AWS VPC CNI only | Supports alternative CNIs |
CoreDNS/kube-proxy | Runs as systemd processes | Runs as pods |
Security Groups | Limited pod security group support | Full security group support |
Cost & Pricing | | |
Pricing Structure | EC2 costs + Auto Mode fee | EC2 costs only |
Cost Optimization | Built-in optimization features | Manual optimization required |
Flexibility vs Control | | |
Customization | Limited as managed approach | High customization possible |
Maintenance | AWS-managed | Customer-managed |
Infrastructure Control | Restricted access | Full control |
Key Differentiators:
1.1)Auto Mode provides a more managed experience with less operational overhead
1.2)Karpenter offers more flexibility but requires more management
2.1)Auto Mode includes built-in best practices and automated maintenance
2.2)Karpenter allows more customization but needs more manual configuration
3.1)How does pricing change with Auto Mode?
With Auto Mode, there are no changes to the cluster control plane costs. You pay for Amazon EKS Auto Mode based on the duration and type of Amazon EC2 instances launched and managed by EKS Auto Mode. The Amazon EKS Auto Mode prices below are in addition to the Amazon EC2 instance price, which covers the EC2 instances themselves. Like EC2 instance charges, EKS Auto Mode charges are billed per-second, with a one-minute minimum. While you can leverage the full range of Amazon EC2 instance purchase options with EKS Auto Mode, including On Demand, one- and three-year Reserved Instances, Compute Savings Plans, and Spot Instances, the EKS Auto Mode charges are independent of the EC2 instance purchase option.
When to use EKS Automode:
We encourage customers to think about the TCO of running applications on EKS with Auto Mode.Think how much engineering effort will they be able to save with Auto Mode, when you no longer need to roll out OS patches, when you get a simplified k8s upgrade experience, when you don't need to manage core add-ons / plugins which are provided as capabilities within Auto Mode. And then what value can you unlock by having your engineers spend that time working on value creating tasks like enhanced automation, or resolving those niggles in their backlog that no-one ever has time to address. Many customers will save on compute costs with Auto Mode because of how it will right size the compute in their cluster based on the resources they request for their pods/deployments. And Auto Mode will then continually optimize if there are opportunities to replace or consolidate underutilized or more expensive nodes. Because we also run the controllers outside the cluster, it also allows customers to effectively scale their compute to 0 which will further drive costs down for example overnight in non-production environments.