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

AWS EKS Consulting

Designing an EKS Cluster Architecture You Will Not Regret

EKS cluster architecture design is the set of decisions made before the first node starts: availability zone spread, VPC and subnet layout, node group or Fargate strategy, endpoint access and how many clusters you run. We document each choice with its trade-off so the build is predictable.

Key takeaways

  • Some EKS decisions, such as VPC CIDR size and cluster count, are painful to change later, so they are made first and written down.
  • Multi-AZ is the default for production, but it has a data transfer and stateful workload cost that should be understood, not assumed.
  • Managed node groups, Karpenter and Fargate solve different problems and are often combined.
  • The right number of clusters is driven by blast radius, compliance and team boundaries, not fashion.
  • The output is a design document and diagram your engineers can challenge, then a Terraform-ready build plan.

Why architecture decisions come first

A Kubernetes cluster is easy to create and expensive to redo. Teams that start with a quick eksctl create cluster often discover months later that the VPC CIDR is too small for pod IPs, that every environment shares one cluster, or that stateful workloads are pinned to a single zone. Fixing those means migration, not configuration.

This page covers the design stage of our AWS EKS consulting work. The output is a written architecture your team can review, then build with Terraform modules. If you already have a cluster and want a second opinion, the same review applies.

What a good EKS architecture looks like

  • It fits the team that will run it. A three-person platform team should not inherit a twelve-cluster, multi-region design.
  • Failure domains are explicit: you can say what happens when a node, a zone or a deployment goes bad.
  • IP space has headroom. The VPC CNI gives pods VPC addresses, so subnet sizing is a real constraint.
  • Compute choices match workload behaviour, not habit.
  • Every decision has a recorded reason and a trigger that would change it.

Single AZ or multi-AZ

Multi-AZ is the production default. Nodes in three zones, replicas spread with topologySpreadConstraints, and a load balancer targeting all of them gives you tolerance for a zone outage. Single-AZ still has a place in development clusters, batch jobs and cost-sensitive test environments.

The trade-offs are concrete:

  • Cross-zone traffic is billed. Chatty service-to-service calls across zones add up, so topology-aware routing and zone-aware design matter for high-traffic systems.
  • EBS volumes are zonal. A pod using a volume can only reschedule into the same zone. For databases on Kubernetes we plan replicas per zone, or recommend a managed database instead.
  • Capacity has to exist in each zone. Autoscaling configuration must allow nodes in all of them.

A minimal spread rule for a stateless service looks like this:

topologySpreadConstraints:
  - maxSkew: 1
    topologyKey: topology.kubernetes.io/zone
    whenUnsatisfiable: ScheduleAnyway
    labelSelector:
      matchLabels:
        app: checkout

Compute: node groups, Karpenter or Fargate

OptionBest forWatch out for
Managed node groupsSteady baseline, system components, predictable workloadsManual instance family choices, slower scaling
KarpenterVariable load, mixed instance types, Spot usageNeeds a small always-on pool for Karpenter itself
Fargate profilesIsolated or bursty pods, minimal node operationsNo DaemonSets, limited storage options, per-pod cost

Our usual pattern is a small managed node group for cluster-critical add-ons and Karpenter for application capacity, with Fargate only where isolation or zero node management is the point. Detail on scaling is in Karpenter and Cluster Autoscaler configuration.

Networking and access

We design the VPC with separate subnet tiers: private subnets for nodes and pods, public subnets only for load balancers and NAT, and optionally dedicated subnets for secondary pod CIDRs when IP space is tight. Decisions include:

  • API endpoint access: private only, public restricted to known CIDRs, or both. Private-only is stronger but needs a way in, such as a VPN or bastion alternative.
  • Egress: one NAT gateway per zone for resilience, or fewer for cost, with VPC endpoints for ECR, S3 and STS to reduce NAT traffic.
  • Cluster connectivity: peering or Transit Gateway when clusters must reach other VPCs.

Pod-level controls build on this foundation: see network policies and security groups.

How many clusters, and what goes in them

The honest answer depends on blast radius. We typically recommend:

  • Production and non-production in separate clusters, ideally separate AWS accounts.
  • Namespaces with quotas, RBAC and policies for team separation inside a cluster.
  • Extra clusters only for hard boundaries: regulated data, a different upgrade cadence, or a noisy workload that should not share control plane limits.

One large shared cluster is cheaper and simpler until an upgrade, a runaway controller or a noisy neighbour affects everyone. Many small clusters isolate risk but multiply upgrade and monitoring work. We help you pick the point on that curve that suits your team size.

A worked example: sizing the IP space

Suppose a team plans three private subnets, one per zone, and expects the platform to grow from a few services to dozens. With the VPC CNI each pod takes a VPC address, so the question is not how many nodes you need but how many pods will exist at peak, plus rolling update surge, plus headroom for nodes that Karpenter adds in a hurry. We work that estimate per zone, compare it with the subnet sizes on the table, and note whether prefix delegation or a secondary CIDR would be needed.

The point is not precision. It is to find, before any code exists, whether the first year of growth fits inside the network you have drawn. If it does not, the cheapest time to change the CIDR plan is now.

When not to use EKS

Not every workload needs Kubernetes. If you run a handful of stateless services and have no one to operate a cluster, ECS on Fargate or a platform-as-a-service may be cheaper and calmer. We will say so during design rather than sell a cluster you do not need. For broader platform choices see our Kubernetes consulting service.

Common failure modes

  • Undersized CIDRs: a /24 per subnet runs out of IPs quickly with the VPC CNI. We size for growth and consider prefix delegation or custom networking.
  • Everything in one node group: system pods starved by application load. We isolate critical add-ons with taints and dedicated capacity.
  • Public API endpoint left open to the internet: restricted by CIDR or made private.
  • Design that ignores upgrades: a cluster layout that cannot be upgraded without downtime is not finished.

Delivery and handover

You receive an architecture document with diagrams, a decision log, a sizing model for nodes and IPs, and a build plan. We hold a review session with your engineers so objections surface before code is written. After approval, implementation usually continues with cluster setup and documented state, and our engagement models explain whether we build it or coach your team through it.

How to tell the design is sound

Run a simple test: can a new engineer explain, from the document alone, what happens when a zone fails, how a new service gets capacity, and how the cluster is upgraded? If yes, the design is doing its job. If you want an independent view of an existing design, book a consultation.

References

How we deliver it

  1. 01

    Collect requirements

    We capture workloads, traffic patterns, data stores, compliance needs, team structure and budget limits.

  2. 02

    Audit the AWS foundation

    Account structure, existing VPCs, CIDR ranges, peering and transit routes are reviewed for conflicts.

  3. 03

    Choose the topology

    Cluster count, AZ spread, subnet tiers, endpoint access and egress paths are selected and justified.

  4. 04

    Choose the compute model

    Managed node groups, Karpenter and Fargate are assigned to workload classes with sizing guidance.

  5. 05

    Document trade-offs

    A written design with diagrams records each option considered, what we picked and what would change the decision.

  6. 06

    Review and hand off

    We walk your engineers through the design, adjust it, and convert it into a build plan for implementation.

Tools and technologies

Amazon EKSAmazon VPCAWS FargateKarpenterManaged node groupsAWS Transit GatewayTerraformeksctlAWS OrganizationsRoute 53

Frequently asked questions

Should an EKS cluster span multiple Availability Zones?
For production, yes. Spreading nodes across at least two, ideally three, zones lets the cluster survive a zone failure if your workloads are replicated with topology spread constraints. The cost is cross-zone data transfer and extra care with EBS-backed stateful workloads, which are tied to one zone.
How many EKS clusters do we need?
Fewer than most teams assume, but more than one. A common pattern is separate clusters for production and non-production, with shared tooling clusters only where needed. Add clusters for hard compliance boundaries or very different upgrade cadences. Namespaces and policy handle most team separation.
Managed node groups or Fargate?
Use managed node groups or Karpenter for most workloads because they support DaemonSets, privileged agents and flexible instance choice. Fargate suits isolated, spiky or low-ops workloads, but it has constraints on storage, DaemonSets and per-pod pricing. Many clusters mix both.
Can we change the architecture after the cluster is built?
Partly. Node strategy, add-ons and policies are easy to change. VPC CIDRs, subnet layout, cluster networking mode and the cluster itself are hard or impossible to change in place, which is why we review them first.
Do you design for multi-region?
Yes, when the business needs it. Multi-region adds data replication, traffic routing and operational cost, so we first check whether multi-AZ plus tested backups already meets your recovery targets. We will tell you if multi-region is more than you need.

Talk to an engineer about eks cluster architecture design

Book a free 30-minute call. We review your current setup and tell you honestly whether and how we can help.

Written by Saddique Khan, DevOps / SRE / Cloud Consultant Engineer. Last updated 2026-10-08.