A development team wants to implement GitOps for their Kubernetes deployments using ArgoCD. Which ArgoCD component is responsible for monitoring the Git repository for changes and syncing the desired state to the cluster?
The Application Controller continuously polls the Git repository, compares the desired manifests against live cluster state, and triggers sync when drift is detected. It satisfies the stem's requirement for the component that monitors Git and reconciles changes, unlike the API Server (which serves requests) or the repo server (which renders manifests).
Why this answer
The Application Controller in ArgoCD is responsible for monitoring the Git repository for changes and syncing the desired state to the Kubernetes cluster. It continuously compares the live state of applications with the desired state defined in Git and takes corrective actions to reconcile them.
Exam trap
KCNA often tests the roles of ArgoCD components, and candidates may confuse the Repo Server's role (fetching manifests) with the Application Controller's role (syncing), leading to wrong answers.
How to eliminate wrong answers
Option A is wrong because the Repo Server is responsible for cloning and parsing Git repositories to generate Kubernetes manifests, but it does not monitor for changes or sync. Option B is wrong because the API Server exposes the ArgoCD API and handles authentication, but it does not perform the sync. Option D is wrong because Redis is used for caching, not for monitoring or syncing.