ππΆππ’π½π: Argo CD + Kubernetes Cluster
It was interesting to see Argo CD implement a GitOps workflow, with the manifests stored in my Git repository.
Argo CD continuously performed drift detection, comparing the live state of the Kubernetes cluster against the manifests I stored in Git. When differences were detected, Argo CD synchronized the cluster back to the desired state.
A solid proof of concept of how GitOps keeps Kubernetes environments consistent and recoverable by performing:
Reads Kubernetes manifests from Git (Git defines the desired state).
Monitors the Git repo for changes to manifests/configuration.
Compares my desired state vs. live cluster state.
Detects configuration drift when the cluster differs from Git.
Reports the app as OutOfSync when drift or Git changes are detected.
Syncs the cluster with Git by applying the desired manifests.
Automatically reconciles changes when the auto-sync is configured.
Tracks deployment history through Git revisions/commits.
Provides deployment status and health information for Kubernetes resources.
Supports rollback (by syncing to a previous Git revision).
What ArgoCD Does:
It Maintains Git as the authoritative configuration, rather than relying on changes made directly with π¬πΆπ£π¦π€π΅π. So if someone manually changes the cluster:
Manual change β Drift detected β Argo CD reconciles β Cluster returns to Git-defined state
The core GitOps loop:
Git β Argo CD β Compare β Detect Drift β Sync β Kubernetes
In another post I will write a hands-on how to get ArgoCD running in a live cluster