I'm looking to enhance my Continuous Deployment (CD) process on EKS and would love to hear what tools and strategies others are using. Are you going with ArgoCD, Flux, GitHub Actions, or perhaps something else entirely? Additionally, how do you handle secrets management and rollbacks? I'm keen on keeping everything as simple and reliable as possible. Thanks in advance for your advice!
6 Answers
A lot of folks lean towards ArgoCD mostly for its UI, which really simplifies monitoring your application states. If you're going for a more streamlined approach, it's definitely worth considering.
Could you all share diagrams or visuals of your setups? I'm a visual learner, and it seems there's a lack of blogs or resources that effectively cover the current best practices, especially regarding git structure.
Quick question for ArgoCD users: how do you forward GitHub Action events to a private EKS cluster? I've read about potential solutions like using a Lambda function to deploy your manifests or even using SSM session manager for a secure tunnel. What’s your experience?
Both Flux and ArgoCD are great, but I find that using pipeline runners through GitHub Actions doesn't quite keep up with any drift in EKS. It’s better to have a dedicated deployment tool.
I usually use Flux in combination with GitHub Actions. This setup works well for managing deployments, plus I leverage the External Secrets Operator to securely store my secrets in AWS Secrets Manager.
I've been using ArgoCD for my deployments, and I think it's a solid choice. Flux is also quite popular and works well, but I personally prefer ArgoCD's user interface. It's super helpful for visualizing your deployment status.
I'd suggest using CodeBuild runners for GitHub actions in your own VPC. This way, you can keep everything internal without exposing your cluster directly. Check out the AWS documentation for more details on setting this up.