Member-only story
Amazon EKS with Terraform and GitOps in minutes
This one is simply a result of a need that I had and that was about getting a fully functional, flexible, and secure Amazon EKS cluster set up in under half an hour to be able to test anything asap. For that, I did not want to spend too much time developing IaC myself as there are so many great sources out there that are worth supporting rather than reinventing the wheel. The force is there in the community and as an AWS Community Builder I came across something that met my expectations hence I’m sharing my experience hoping you may find it helpful too.
It is meant to get you your EKS cluster while you can go buy yourself a coffee ☕️

This time I will start the other way around and go straight away to the solution while context and other details can be found down below.
The only thing to reveal at this stage is that I’m leveraging Amazon EKS Blueprints for Terraform 🚀
MVP
While one can use the flexibility of the EKS Blueprints solution to set things up in many different ways and depending on individual requirements, I’ve got the minimal/initial configuration I start with, and that consists of the following:
- the control plane with whitelisted public access,
- the data plane (spot EC2 instances) communicating with the control plane privately,
- all EKS-managed add-ons enabled and using the most recent versions,
- ArgoCD publicly accessible (whitelisted) through an ALB configured with a Route53 domain and an ACM certificate,
- a set of additional add-ons deployed with the use of ArgoCD and following the GitOps approach.
The following extra add-ons are enabled by default:
- Cluster autoscaler
- AWS load balancer controller
- External DNS
- FluentBit

Here’s the code that sets everything up.