AWS EKS GitOps

Ravi Yasakeerthi
15 min readNov 2, 2020

EKS |Terraform |Fluxcd |Sealed-secrets | NLB | Nginx-ingress

Why Infrastructure as Code

How was the infrastructure traditionally managed, Classic approach was pointing and clicking in the UI consoles, custom provisioning scripts, etc. This was OK if you have minimal things to manage and changes are less frequent. This was the case for many private data centers. Large monolithic apps were deployed in large VMs live for months to years. Changes are less frequent therefore it was possible to manage them manually by point and click.

Today we are shifting to different dynamics. Cloud Infrastructure, microservices, a large pool of short-lived containers. everything is API driven, with frequent changes. most importantly higher elasticity. Today no one needs to run their services in fixed infrastructure without auto-scaling. We are now paying hourly rates.

So, with all of this. it’s obvious that we need a more reliable IaC ecosystem to manage our infrastructure.

In this guide, I’m going to explain step by step EKS(Elastic Kubernetes Service) cluster provisioning using Terraform(IAC). Then we are going use flux(GITOPS) to ensure that the state of a cluster matches the configuration we have in git. which means all the changes you are doing to the cluster are atomic and transactional. git repo work as an…

--

--