Control-Plane in drei Diensten
argocd-server: gRPC/REST-API für Web-UI, CLI und CI/CD; Auth, RBAC-Enforcement, Git-Webhook-Empfang.
argocd-repo-server: hält lokale Kopien der Git-Repos und rendert die Manifeste (Helm, Kustomize, Plain-YAML).
argocd-application-controller: vergleicht den Live-State im Cluster laufend mit dem Soll aus Git, meldet OutOfSync und führt Syncs samt Lifecycle-Hooks aus.
Nebenkomponenten
applicationset-controller: erzeugt Applications in Serie (siehe Generators). notifications-controller: Trigger/Templates für Alerts. commit-server: pusht gerenderte Manifeste nach Git (nur mit Source Hydrator). dex: gebündelter Identity-Broker für SSO (OIDC, SAML, LDAP, GitHub).
Redis: reiner Wegwerf-Cache, kann jederzeit ohne Datenverlust neu aufgebaut werden.
HA-Betrieb
argocd-server ist stateless: 3+ Replicas,
dazu ARGOCD_API_SERVER_REPLICAS setzen.
repo-server horizontal skalieren;
--parallelismlimit drosselt paralleles Rendern
(OOM-Schutz).
application-controller läuft als
StatefulSet und verteilt die Cluster per Sharding auf seine Replicas
(Anzahl in ARGOCD_CONTROLLER_REPLICAS); Algorithmus per
controller.sharding.algorithm:
legacy (Default), round-robin,
consistent-hashing (beide Alpha). Richtwert 1000
Apps: 50 Status- / 25 Operation-Processors.
HA-Manifeste brauchen ≥ 3 Nodes (Pod-Anti-Affinity).
argocd login argocd.example.com --sso argocd app list argocd app get shop --refresh argocd app diff shop