Question #2015
A company is migrating an on-premises Kubernetes application to Amazon Elastic Kubernetes Service (Amazon EKS). The company requires a solution that eliminates the need to manage EC2 instances, including patching, scaling, and capacity provisioning, while ensuring minimal operational overhead. Which approach should the company adopt?
Deploy the application on a self-managed node group and configure the cluster to auto-scale based on demand.
Use Amazon EKS-managed node groups with the Kubernetes Cluster Autoscaler to handle node provisioning and scaling.
Migrate the application to Amazon EKS using AWS Fargate profiles to run pods without managing nodes.
Deploy the application on managed node groups integrated with Karpenter for automated node provisioning and scaling.
Explanation
The question requires a solution that removes EC2 instance management (patching, scaling, capacity) and minimizes operational overhead.
- Option C (Correct): AWS Fargate allows running Kubernetes pods without managing nodes. Fargate handles serverless infrastructure, so no EC2 instances, patching, or scaling are required. This meets the requirement fully.
- Option A: Self-managed node groups require manual EC2 management (patching, scaling), conflicting with the requirement.
- Option B: EKS-managed node groups reduce operational tasks but still involve EC2 instances, requiring some node management.
- Option D: Karpenter automates node provisioning but still relies on EC2 instances, leaving patching and capacity management responsibilities.
Key Points: AWS Fargate abstracts node management, making it ideal for serverless Kubernetes workloads with minimal operational overhead.
Answer
The correct answer is: C