Skip to main content

Introduction to Argo CD


Table of Contents

  1. What is Argo CD?
  2. Architecture
  3. Why use Argo CD?
  4. Argo CD vs other tools
  5. Use cases
  6. Hands-on exercises

1 - What is Argo CD?

Definition

Argo CD is a declarative continuous delivery tool for Kubernetes, following the GitOps principles.

Key characteristics

CharacteristicDescription
DeclarativeThe desired state is defined in Git
GitOps nativeGit as the source of truth
Kubernetes nativeDesigned specifically for K8s
CNCF GraduatedMature and widely adopted project
Web UIPowerful graphical interface

History

  • 2018: Created by Intuit (TurboTax, QuickBooks)
  • 2020: Joined the CNCF as an Incubating project
  • 2022: Became CNCF Graduated (maximum maturity)
  • Today: +15,000 GitHub stars, used by thousands of companies

🔝 Back to table of contents


2 - Architecture

Main components

Role of each component

ComponentRole
API ServerExposes the REST API, manages the UI and CLI
Repo ServerClones Git repos, generates manifests
Application ControllerCompares desired vs actual state, reconciles
RedisCache for sessions and data
DexSSO authentication (optional)

Data flow

🔝 Back to table of contents


3 - Why use Argo CD?

Benefits

BenefitDescription
Intuitive UIVisualization of applications and resources
Easy rollbackReturn to any version via Git
Multi-clusterManage multiple clusters from a single Argo CD
Self-healingAutomatic drift reconciliation
ExtensibleHooks, plugins, notifications

Before/after comparison

# Sans Argo CD
git pull
kubectl apply -f manifests/
# Qui a fait quoi ? Quand ? État actuel ?

# Avec Argo CD
git push # C'est tout !
# Argo CD synchronise automatiquement
# Historique complet dans l'UI

Success metrics

MetricBeforeWith Argo CD
Deployment time15-30 min2-5 min
Rollback30+ min1 min (git revert)
VisibilityLowComplete
AuditManualAutomatic

🔝 Back to table of contents


4 - Argo CD vs other tools

Argo CD vs Flux

CriterionArgo CDFlux
Native UIExcellentNo (Weave GitOps)
ArchitectureAll-in-oneModular toolkit
Learning curveEasyMedium
Multi-clusterCentralizedDistributed
Image AutomationVia extensionNative
CNCF StatusGraduatedGraduated

Argo CD vs Jenkins/GitLab CI

CriterionArgo CDTraditional CI/CD
ModelPull (GitOps)Push
CredentialsInternal to clusterExposed in CI
Self-healingYesNo
SpecializationK8s onlyGeneral-purpose

When to choose Argo CD?

  • Kubernetes in production
  • Need for a UI for teams
  • Multi-cluster management
  • Team new to GitOps

🔝 Back to table of contents


5 - Use cases

Companies using Argo CD

CompanyUsage
IntuitCreator, 2500+ microservices
IBMOpenShift GitOps based on Argo CD
Red HatOpenShift GitOps
AdobeMulti-cloud deployments
TeslaKubernetes infrastructure

Typical scenarios

🔝 Back to table of contents


6 - Hands-on exercises

Quiz

Q1. What is Argo CD's deployment model?

Answer

Pull model: Argo CD pulls changes from Git and applies them to the cluster, unlike the push model where CI pushes to the cluster.

Q2. Which Argo CD component compares the desired state and the actual state?

Answer

The Application Controller constantly compares the desired state (in Git) with the actual state (in the cluster) and reconciles if necessary.

Q3. Why is Argo CD more secure than a classic CI/CD pipeline?

Answer
  • No external credentials to the cluster
  • The agent is internal to the cluster
  • Principle of least privilege
  • Reduced attack surface

🔝 Back to table of contents


Key takeaways

  • Argo CD = GitOps for Kubernetes
  • Architecture: API Server, Repo Server, Controller
  • Pull model: more secure than push
  • Excellent native UI for visibility
  • CNCF Graduated: maturity and adoption

Next chapter: Installation →