AWS Certified DevOps Engineer – ProfessionalSDLC AutomationHard
A team is managing an application deployed on Amazon EKS using Helm charts. They want to implement a GitOps approach where all application and infrastructure configurations are stored in a Git repository, and changes are automatically synchronized to the EKS cluster. Which tool or service combination should they use to achieve this continuous synchronization and reconciliation?
- AAWS CodeDeploy to manage Kubernetes deployments from Git.
- BAWS CodePipeline to monitor Git and deploy Helm charts directly.
- CArgo CD or Flux CD deployed within the EKS cluster, monitoring the Git repository.
- DCustom Lambda functions triggered by Git webhooks to apply changes.
Show answer & explanationAnswer & explanation
Correct answer: C. Argo CD or Flux CD deployed within the EKS cluster, monitoring the Git repository.
Argo CD and Flux CD are popular open-source GitOps tools specifically designed for Kubernetes. They operate as controllers within the EKS cluster, continuously monitoring a Git repository for desired state changes and automatically reconciling the cluster's actual state to match the declared state in Git.
Why the other options are wrong
- A. AWS CodeDeploy can deploy to ECS/EKS but is more of a push-based deployment service. It doesn't provide the pull-based, continuous reconciliation model central to GitOps.
- B. While CodePipeline can monitor Git, it's primarily a CI/CD orchestrator. It doesn't inherently provide the continuous reconciliation loop characteristic of GitOps for Kubernetes cluster state management.
- D. Custom Lambda functions would require significant development and maintenance to replicate the robust features (e.g., drift detection, health checks) offered by specialized GitOps tools like Argo CD or Flux CD.
GitOps
An operational framework that takes DevOps best practices used for application development (e.g., version control, collaboration, CI/CD) and applies them to infrastructure automation.
- Uses Git as the single source of truth for declarative infrastructure and application configuration.
- Automated reconciliation agents continuously synchronize cluster state with Git.
- Provides auditability, reproducibility, and faster, safer deployments.
Memory trick: GitOps is like a watchful octopus, always pulling your cluster into perfect sync with Git.