This is how to get a fully functional and secure EKS cluster in AWS, provisioned with Terraform and powered by ArgoCD to facilitate the configuration management by following the GitOps approach.
This solution is opinionated and developed for the purpose of testing pretty much anything by providing a solid foundation.
It has all started with this article: AWS EKS with Terraform and GitOps in minutes
The following functionalities and capabilities are currently covered:
- General
- VPC networking
- EKS cluster with EKS-managed node group of SPOT instances
- Kubernetes-related
- EKS-managed add-ons enabled by default:
- KubeProxy
- CoreDNS
- VPC CNI Driver
- ArgoCD for GitOps
- Additional add-ons controlled with ArgoCD where the following are enabled by default:
- Cluster Autoscaler
- AWS Load Balancer Controller
- External DNS
- Metrics Server
- FluentBit
- EKS-managed add-ons enabled by default:
Check it out here
The following versions are currently set:
- Terraform: latest 1.3
- Terraform AWS provider: 4.45
- EKS cluster: 1.23