Amazon EKS — EKS FAQ
Frequently Asked Questions
Q: How much does EKS cost?
A: EKS control plane costs $0.10/hour ($72/month). Worker nodes (EC2) are billed separately at standard EC2 rates. Fargate pods are billed per vCPU and memory per second.
Q: EKS vs ECS — which should I choose?
| Factor | EKS | ECS |
|---|---|---|
| Complexity | Higher (Kubernetes) | Lower (AWS-native) |
| Portability | Multi-cloud | AWS only |
| Ecosystem | Huge (CNCF) | AWS-focused |
| Learning curve | Steep | Gentle |
| Team size | Medium-large | Any |
Choose EKS if: multi-cloud, large team, existing K8s expertise, complex microservices. Choose ECS if: AWS-only, small team, simple services, want less operational overhead.
Q: How often should I upgrade EKS?
A: Every 3-4 months (each new version). EKS versions are supported for 14 months. Don’t fall more than 1 version behind. Always test upgrades in a non-production cluster first.
Q: How many nodes do I need?
A: Start with the formula:
Nodes = Total pod CPU requests / Node CPU capacity × 1.3 (30% headroom)
Example: 20 pods requesting 500m CPU each = 10 vCPU needed. With t3.large (2 vCPU usable): 10 / 2 × 1.3 ≈ 7 nodes.
Q: Should I use managed or self-managed node groups?
A: Managed node groups in almost all cases. They handle AMI updates, draining, and lifecycle management. Use self-managed only for very specific customization needs.
Q: Spot vs On-Demand — when to use each?
| Workload | Use |
|---|---|
| Stateless web servers | Spot (60-90% savings) |
| Batch processing | Spot |
| Databases (StatefulSets) | On-Demand |
| CI/CD runners | Spot |
| System components (monitoring) | On-Demand |
Q: How do I handle secrets in EKS?
Best approach:
- Store secrets in AWS Secrets Manager
- Use External Secrets Operator to sync into Kubernetes Secrets
- Use IRSA for pod-level authentication
Never store secrets in Git, ConfigMaps, or environment variables in deployment manifests.
Q: How do I monitor EKS costs?
A: Use Kubecost (open-source) or AWS Cost Explorer with EKS cost allocation tags. Enable these tags:
eks:cluster-namekubernetes.io/namespace- Custom cost-center labels
Q: Can I run Windows containers on EKS?
A: Yes. Create a Windows managed node group alongside your Linux nodes. System components (CoreDNS, kube-proxy) always run on Linux nodes.
Q: What’s the maximum cluster size?
| Limit | Value |
|---|---|
| Nodes per cluster | 5,000 |
| Pods per node | 110 (default) |
| Services per cluster | 10,000 |
| Pods per cluster | 150,000 |
Most clusters are much smaller. If you need 5,000 nodes, consider multiple smaller clusters.
Congratulations! 🎉
You’ve completed the entire Amazon EKS tutorial. You now have the knowledge to:
- Create and manage EKS clusters
- Deploy applications with various strategies
- Set up networking, storage, and security
- Implement auto-scaling and observability
- Build CI/CD pipelines with GitOps
- Troubleshoot common issues
- Optimize costs
Go build something awesome!