Home / DevOps & CI/CD / ArgoCD
GitOps · CD per Kubernetes

ArgoCD

Continuous deployment GitOps per Kubernetes: git è la verità, ArgoCD riconcilia i cluster e segnala il drift.

ARGOCD · open source
ArgoCD
Cos'è

Il git repo è la fonte di verità. ArgoCD si occupa del resto.

ArgoCD è il tool GitOps più adottato per Kubernetes. L'idea: lo stato desiderato dei cluster vive in un git repo (helm chart, kustomize, plain yaml). ArgoCD osserva, sincronizza, segnala il drift, lo ricuce automaticamente (o aspetta l'approvazione, a tua scelta).

Multi-cluster da una console sola, app-of-apps pattern per scalare, sync waves per ordinare il rollout, hooks pre/post sync. RBAC sui progetti, audit log nativo.

Lo abbinamo a Fleet (Rancher) quando i cluster sono molti (edge), e a pusho.dev quando i target sono eterogenei (k8s + non-k8s + altre cloud).

Caratteristiche chiave

Sei feature che rendono ArgoCD il default GitOps.

Niente kubectl apply manuale. Mai più.

App-of-apps

Un app ArgoCD che dichiara le altre app: bootstrap intero di un cluster da git.

Sync waves

Ordina i deployment in fasi: CRD prima, operator dopo, app per ultime.

Drift detection

Lo stato cluster diverge dal git? ArgoCD te lo dice e lo ricuce.

Multi-cluster

Una console, decine di cluster registrati. Deploy contemporaneo o in waves.

Helm/Kustomize/Jsonnet

Renderer pluggabili. Stesso strumento, qualunque formato manifest.

RBAC + SSO

Permission per progetto, app, cluster. SSO con IDP enterprise (OIDC/SAML).

Come lo usiamo

Come configuriamo ArgoCD in produzione.

ArgoCD 2.12+ApplicationSetapp-of-appsNotificationsImage UpdaterSSO OIDC
  • ArgoCD HA in cluster di management dedicato (3 replica controller).
  • App-of-apps pattern: un repo bootstrap definisce tutto quello che gira.
  • Project per tenant/team, RBAC granulare via SSO Keycloak.
  • Sync automatica per ambienti non-prod, approvazione manuale per prod.
  • ApplicationSet per generare app per cluster (template + lista cluster da Rancher).
  • Notifications verso Slack/Teams: sync ok/fail, drift detected, out-of-sync alert.
“ArgoCD è quello che ti permette di dire: il cluster fa quello che dice git. Sempre. Senza eccezioni.”
Hands on

App ArgoCD per un microservizio con auto-sync.

yaml · Application~/clodino
 argocd-app.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: checkout-prod
spec:
  project: production
  source:
    repoURL: git@gitlab.clodino.com:acme/k8s.git
    path: apps/checkout/prod
    targetRevision: main
  destination:
    server: https://k8s.prod-mi.acme.local
    namespace: checkout
  syncPolicy:
    automated: { prune: true, selfHeal: true }
    syncOptions: [CreateNamespace=true, ApplyOutOfSyncOnly=true]

Vuoi GitOps serio sui tuoi K8s?

ArgoCD installato, configurato, integrato col tuo IDP. App-of-apps bootstrap incluso.

← DevOpsParla con noi