Skip to content

Eks Kubernetes Cluster structure problem

0

I was asked to do an assignment as a part of an interview and they decided to not go futher with my application without giving any feedback.

Assignment was to Build a Terraform module to deploy a simple containerized service to an AWS EKS Kubernetes cluster.

I dont understand what went wrong with my structure. Can anyone help me to understand if there’s something wrong with it? Github - https://github.com/neverscores/terraform-eks-deployment.git

asked a year ago189 views
1 Answer
1

Based on the information provided, I'll analyze potential issues with your EKS Terraform module structure.

Looking at the error messages in the sources, there are several common issues that could have affected your EKS deployment:

  1. Service Quota Limitations: One common error is hitting service quotas, particularly with EC2 Fleet Requests when creating node groups. The error "You've reached your quota for maximum Fleet Requests for this account" is common when working with EKS, especially in new accounts or accounts with limited quotas.

  2. Provider Configuration: For EKS deployments, proper configuration of multiple providers is critical. Your module should include properly configured AWS, Kubernetes, and Helm providers. The Kubernetes and Helm providers should reference the EKS cluster endpoint and certificate authority data.

  3. Add-on Management: EKS add-ons like CoreDNS, kube-proxy, and vpc-cni need proper version compatibility with your Kubernetes version. The "DEGRADED" state for CoreDNS mentioned in the sources is a common issue.

  4. Node Group Configuration: Your node group configuration might have issues with launch templates, capacity types (SPOT vs ON_DEMAND), or subnet configuration.

  5. IAM Role Setup: Proper IAM roles and policies are essential for EKS clusters, including service roles and worker node roles with appropriate permissions.

  6. Kubernetes Version Compatibility: With newer Kubernetes versions (like 1.30), there are specific changes required for configurations like OIDC identity providers.

Without seeing your specific code, I'd recommend reviewing these areas in your module. A well-structured EKS module typically includes:

  • Clear separation of cluster, node groups, and add-on resources
  • Proper provider configurations
  • IAM role and policy setup
  • Network configuration (VPC, subnets)
  • Appropriate outputs for cluster access

For production-grade clusters, consider using established patterns like the EKS Blueprints approach, which includes best practices for cluster setup, add-on management, and access control.
Sources
EKS cluster creation using Terraform | AWS re:Post
Streamline production grade clusters with Amazon AFT and Terraform EKS Blueprints | Containers
Understanding Terraform providers - AWS Prescriptive Guidance
Guidance for Automated Provisioning of Amazon Elastic Kubernetes Service (EKS) using Terraform
With AWS EKS Kubernetes version 1.30, Terraform aws_eks_identity_provider_config times out | AWS re:Post

answered a year ago
EXPERT
reviewed a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.