Best Practices for Using ArgoCD with Terraform for EKS Deployment

0
6
Asked By TechieTurtle97 On

I'm exploring how to best set up my EKS cluster using Terraform. I've got a Terraform repository where I'm deploying my EKS cluster and VPC, and I also have a GitOps repository that contains all my applications and kustomize overlays. I'm curious about what I should bootstrap with Terraform and what I should manage separately. My plan includes using a Helm provider in Terraform to install critical components like metrics server, Karpenter, and ArgoCD. With ArgoCD, I can deploy the cluster and Argo itself using some root Applications that refer to the applications in my GitOps repo. What are your thoughts on this approach?

6 Answers

Answered By CloudyCactus42 On

I recommend manually installing ArgoCD and letting it handle its own deployments and infrastructure management. If you go this route, it saves you from having to repeatedly use Terraform-Helm for every upgrade. For a reproducible setup via CLI, consider creating a bootstrap script that applies ArgoCD using Helm templates pulled from your GitOps repo, along with a root app-of-apps to manage everything else.

Answered By CloudCrafter22 On

We’ve been utilizing Crossplane for our infrastructure, and then letting ArgoCD handle our EKS deployments. It’s a solid approach! Although for the initial setup of Crossplane and Argo, you might want to clarify how you get that first cluster up and running. We tend to set up our first cluster and Argo via Terraform, which then manages the other clusters.

Answered By NetworkNinja33 On

For me, Terraform modules set up the initial stack, including networking, Kubernetes, and ArgoCD. I configure ArgoCD to reference a Git repository or bootstrap directory so that the rest of the stack can be deployed through ArgoCD. This way, you keep the Terraform bootstrap minimal and still have the flexibility to manage multiple clusters efficiently.

Answered By SassySquirrel88 On

Currently, I'm deploying EKS with Terraform and using the Helm provider for ArgoCD installation. I also create a small bootstrap chart to set up the GitOps repo in Argo, with all the cluster services installed through Argo using sync waves to maintain the installation order.

Answered By QueryMaster55 On

This question pops up frequently! You might find answers by using the search function on this forum; it’s been discussed several times.

Answered By ResourceRanger77 On

I would use Terraform for deploying EKS and other AWS resources, then apply the Helm provider to install necessary components such as the metrics server and ArgoCD. You can define ArgoCD RBACs using templates and pass them as values during the Helm deployment, which simplifies the process. Finally, finish up by deploying a Kubernetes manifest resource in Terraform that manages the parent ArgoCD app for your app-of-apps.

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.