Skip to main content
Cloud DevOps Solutions
Get a quote Talk to an engineer

EKS Cluster Setup and Configuration

We design and build your Amazon EKS cluster from scratch, VPC networking, managed node groups, Karpenter, observability, and IRSA, all in Terraform, with a runbook your team can operate from day one.

Problems we solve

  • First EKS cluster spun up via ClickOps with no IaC, no way to recreate it safely
  • Networking misconfigured: nodes in public subnets, security groups too open
  • No cluster autoscaler, no resource limits, one noisy workload can starve the rest
  • Missing observability: no Prometheus, no log aggregation, no alerts
  • Need a production-ready cluster fast, without spending weeks on docs

What's included

EKS cluster provisioned via Terraform with remote state in S3 with state locking
VPC with public and private subnets, NAT gateways, and appropriate CIDR planning
Managed node groups with mixed on-demand and Spot configuration
Karpenter or Cluster Autoscaler for node provisioning
AWS Load Balancer Controller + ExternalDNS setup
Metrics Server, CoreDNS tuning, and kube-proxy configuration
Prometheus + Grafana stack deployed via Helm
IRSA configured for all AWS-integrated services
RBAC baseline and namespace structure
CI/CD integration with cluster (GitHub Actions or GitLab CI)

Our approach

  1. 01

    Requirements gathering

    We discuss your workload types, scaling requirements, compliance needs, and existing AWS account structure to design the right cluster configuration.

  2. 02

    Network design

    We design the VPC: subnet sizing for the number of pods (EKS reserves IPs per node), AZ spread, private endpoints, and security group strategy.

  3. 03

    Terraform implementation

    We write modular Terraform: VPC, EKS cluster, node groups, IRSA roles, and all add-ons. State is stored in S3 with state locking. Everything is code-reviewed before apply.

  4. 04

    Add-on and observability setup

    AWS Load Balancer Controller, ExternalDNS, Metrics Server, and Karpenter are deployed via Helm. Prometheus, Grafana, and Alertmanager are configured with your first alert rules.

  5. 05

    Handover and documentation

    We deliver a runbook covering day-2 operations: node group scaling, add-on upgrades, log access, and common troubleshooting commands. We walk your team through the cluster live.

Tech stack

Amazon EKSTerraformKarpenterAWS Load Balancer ControllerExternalDNSPrometheusGrafanaHelmArgoCDIRSAAWS VPC CNI

Results

We publish results only when a client has approved them. See how we publish case studies and a sample report.

FAQ

Should I use eksctl, Terraform, or the AWS console?
Terraform. It gives you reproducible, version-controlled infrastructure you can recreate in any account. We use the official EKS Terraform module as a base and extend it for your requirements. eksctl is useful for experimentation.
How many node groups do I need?
Often two or three: one for system workloads (guaranteed on-demand), one for general application workloads (mixed on-demand/Spot), and optionally a GPU or memory-optimised group for specialised workloads.
Should I use Fargate or EC2 node groups?
EC2 node groups for most workloads, they are often cheaper at scale and more flexible. Fargate is useful for serverless batch jobs or burst workloads where you want zero node management. A common pattern is Karpenter with EC2 plus Fargate profiles for specific namespaces.
What is IRSA and why do I need it?
IAM Roles for Service Accounts lets pods assume AWS IAM roles via OIDC federation, without granting the EC2 instance profile broad permissions. It is the correct way to give pods access to S3, SQS, Secrets Manager, and other AWS services.
How long does a new cluster setup take?
It depends on scope, your existing AWS account structure and observability needs. A basic cluster comes first; the remaining time goes on observability, RBAC, and documentation. Timelines are confirmed in the written scope.

Ready to get started?

Book a free technical consultation. No commitment, just an honest conversation about your goals.

Written by Saddique Khan, AWS & Azure Certified · Last updated October 2025