Add blog post: Why We Recommend Managed Node Groups Over Fargate for EKS Add-Ons#826
Merged
Erik Osterman (Cloud Posse) (osterman) merged 10 commits intoOct 16, 2025
Merged
Conversation
…EKS Add-Ons This post explains the practical challenges of running EKS add-ons on Fargate-only clusters and why a small managed node group provides better reliability, cost efficiency, and automation for production environments. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Combine "The Terraform Catch-22" with "The Problem with No Nodes" to eliminate duplication - Fix logical inconsistency: clarify co-location issue is with MNG, not Fargate - Add acknowledgment that recommendation diverges from official AWS guidance - Add citations to AWS EKS Best Practices, Karpenter docs, and Fargate configuration docs - Add context about why Fargate was initially attractive - Document additional Fargate architectural constraints - Note evolution of Karpenter's own defaults to MNG - Add "Your Mileage May Vary" section acknowledging teams that successfully use Fargate - Clarify that frequently-rebuilt dev clusters are worse candidates for Fargate - Strengthen conclusion to focus on operational requirements determining choice 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Alek Nowak (vyrwu)
approved these changes
Oct 16, 2025
Alek Nowak (vyrwu)
left a comment
There was a problem hiding this comment.
Thank you for clarifying the recommendation - it makes a lot of sense!
|
|
||
| <FeatureList> | ||
| - Use Graviton-based instances (c7g.medium) to cut costs nearly in half | ||
| - Mix On-Demand nodes for reliability and Spot nodes (via Karpenter) for efficiency |
There was a problem hiding this comment.
Surely the MNGs should have on-demand nodes only for stability, or is running Spot on MNGs also part of the recommendation?
Contributor
There was a problem hiding this comment.
Pull Request Overview
Adds a new MDX blog post recommending EKS managed node groups over Fargate for running cluster add-ons, discussing bootstrap deadlocks, HA considerations, and cost/flexibility trade-offs.
- Introduces rationale against Fargate-only setups for production.
- Provides comparisons of operational characteristics and cost.
- Documents scenarios where Fargate-only may still be acceptable.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Fix confusion about which component uses which instance type: - Static MNG runs On-Demand instances for reliability of cluster-critical add-ons - Karpenter provisions Spot instances for dynamic application workloads - Update "Cost and Flexibility" section to clearly distinguish the two - Update "Lessons Learned" section to specify instance types per component This addresses the concern that mixing Spot instances in the static MNG would undermine the reliability we're advocating for. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
The previous wording "dynamic workloads" was ambiguous and could be misread as including cluster add-ons. This explicitly states: - MNG with On-Demand instances = cluster add-ons (stable foundation) - Karpenter with Spot instances = application workloads only (cost savings) This distinction is critical to the stability argument. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
EKS Auto Mode (announced December 2024) solves the bootstrap deadlock problem by running Karpenter and other cluster components off-cluster as AWS-managed services. This eliminates the chicken-and-egg dependency entirely. Added balanced coverage noting: - How Auto Mode sidesteps the bootstrap problem - Trade-offs: 12-15% cost premium, CNI lock-in, less control - When it makes sense vs when MNG + Karpenter approach is still relevant This provides readers with awareness of all current options. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
204c66e
into
master
2 of 3 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test plan
🤖 Generated with Claude Code