Aller au contenu

Réconciliation

Réconciliation (en anglais reconciliation) : boucle par laquelle un agent compare en permanence l'état voulu d'un système à son état réel, et agit pour réduire l'écart entre les deux. C'est le mécanisme de base de Kubernetes, dont chaque contrôleur compare la spec d'un objet à ce qu'il observe (le contrôleur des Deployments crée des pods tant qu'il en manque). Le GitOps applique la même idée un étage au-dessus : l'état voulu est dans Git, et un agent comme Argo CD ou Flux le recopie dans l'API du cluster. « Réconcilié en continu » est le quatrième principe d'OpenGitOps.

Une boucle de réconciliation est robuste parce qu'elle est idempotente (appliquer deux fois le même état ne change rien) et convergente (un passage raté est rattrapé au suivant). Argo CD compare chaque application à Git toutes les 120 secondes par défaut (timeout.reconciliation), plus un délai aléatoire d'au plus 60 secondes ; un webhook de la forge déclenche une comparaison immédiate. L'état réel, lui, est suivi en continu par les mécanismes de surveillance (watch) de l'API Kubernetes : une modification manuelle est vue presque instantanément.

Dans les cours

Voir aussi