AWS EKS

EKS Fundamentals

Deployment Options

Managing Amazon EKS clusters can be done in multiple ways—from point-and-click in the AWS Console to fully scripted Infrastructure as Code (IaC). Select the method that aligns with your team’s skills, automation goals, and compliance requirements.

1. AWS Management Console

Create an EKS cluster directly in the AWS Console by navigating to Kubernetes (EKS), clicking Create cluster, and completing the forms for Cluster name, Networking, Node groups, and Permissions.

Note

The console UI offers quick setup without writing code, but switching between IAM, VPC, EC2, and EKS tabs can be error-prone and difficult to reproduce at scale.

Pros and cons:

ProsCons
No coding requiredManual steps; low repeatability
Visual feedback for each resourceHard to automate CI/CD pipelines
Good for learning and demosInconsistent environment configurations

2. AWS CloudFormation

Define your EKS infrastructure as code using CloudFormation YAML/JSON or the AWS Cloud Development Kit (CDK).

  • CloudFormation templates: Hand-craft IAM roles, VPCs, subnets, security groups, and EKS resources.
  • AWS CDK: Write TypeScript, Python, Java, or .NET code that synthesizes into CloudFormation.
FeatureCloudFormationAWS CDK
SyntaxYAML / JSONTypeScript, Python, Java, .NET
Drift detection✅ via synthesized templates
High-level constructsLimitedRich L2/L3 abstractions

The image illustrates a diagram showing AWS CloudFormation connected to a central user icon, surrounded by multiple Kubernetes icons.

Parameterize your templates to spin up multiple clusters with consistent settings. Use Change Sets and drift detection to manage updates and rollbacks safely.

3. Terraform

Terraform uses declarative HCL to provision EKS clusters. Leverage community or official modules from the Terraform Registry and AWS IaC Blueprints for best practices out of the box.

Warning

Terraform state management is your responsibility. Configure a remote backend (e.g., S3 + DynamoDB) to lock state files and prevent concurrent modifications.

FeatureDetails
LanguageHCL
Official ModulesEKS Blueprints GitHub
State BackendS3 + DynamoDB for locking
ResponsibilitiesAWS API access, credentials, state security, backend config

The image features the Terraform logo in the center with four colored circles around it, each containing a cube design. To the right, there's a logo and text for "Open Tofu."

The image illustrates the concept of "Infrastructure as Code" using Terraform and AWS EKS Blueprints, with associated logos.

4. Other Tools and Services

Several third-party and community-driven tools can simplify EKS cluster provisioning:

ToolLanguage / ApproachDescription
PulumiGo, Python, TypeScript, .NETWrite IaC in general-purpose languages
Cluster APIKubernetes manifests (CRDs)Manage cluster lifecycle via Kubernetes operators
AWS CLIShellScript aws eks create-cluster … with full AWS service access
SaaS ProvidersN/AHosted control planes or operators that wrap Terraform/API calls

The image shows logos for "Pulumi" and "Cluster API" under the heading "Other Services."

No matter which path you choose, standardize on templates or scripts to ensure consistency and speed. In the next section, we’ll introduce lightweight tools for spinning up disposable test clusters in minutes.

Watch Video

Watch video content

Previous
Architecture