Skip to main content

Command Palette

Search for a command to run...

π—šπ—Άπ˜π—’π—½π˜€: Argo CD + Kubernetes Cluster

Updated
β€’2 min readβ€’View as Markdown

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