This article discusses various methods for managing Amazon EKS clusters, including AWS Console, CloudFormation, Terraform, and other tools.
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.
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.
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.
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.
Feature
CloudFormation
AWS CDK
Syntax
YAML / JSON
TypeScript, Python, Java, .NET
Drift detection
✅
✅ via synthesized templates
High-level constructs
Limited
Rich L2/L3 abstractions
Parameterize your templates to spin up multiple clusters with consistent settings. Use Change Sets and drift detection to manage updates and rollbacks safely.
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.
Terraform state management is your responsibility. Configure a remote backend (e.g., S3 + DynamoDB) to lock state files and prevent concurrent modifications.
Several third-party and community-driven tools can simplify EKS cluster provisioning:
Tool
Language / Approach
Description
Pulumi
Go, Python, TypeScript, .NET
Write IaC in general-purpose languages
Cluster API
Kubernetes manifests (CRDs)
Manage cluster lifecycle via Kubernetes operators
AWS CLI
Shell
Script aws eks create-cluster … with full AWS service access
SaaS Providers
N/A
Hosted control planes or operators that wrap Terraform/API calls
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.