5 commentaires
Il y a de fortes chances que quelqu'un ait fait une modification manuelle sur le cluster (kubectl edit ou patch) qui n'est pas dans Git. Ou alors un contrôleur Kubernetes a modifié une ressource. Utilise kubectl diff sur les ressources listées par ArgoCD pour comparer le live et le manifeste Git localement.
Regarde aussi les annotations et labels. Parfois ArgoCD ajoute des annotations de last-applied-configuration ou resource-version qui peuvent faire croire qu'il y a un diff alors que ce sont juste des métadonnées gérées par Kubernetes lui-même.
Tu peux essayer un ArgoCD sync --prune --force si tu es sûr que la version Git est la source de vérité. Ça va réappliquer tous les manifests et purger ce qui ne correspond pas.
argocd app sync nom_de_l_app --prune --force
Si c'est un drift constant sur un champ spécifique, tu peux configurer des ignoreDifferences dans ton Application ArgoCD pour qu'il ignore ces champs lors du diff. C'est utile pour des champs gérés dynamiquement par d'autres contrôleurs.
C'était un drift sur les labels app.kubernetes.io/instance et app.kubernetes.io/managed-by ajoutés par un HelmRelease qui n'était pas dans mon repo Git. J'ai ajouté ignoreDifferences et c'est Synced. Merci à tous !
Laisser une réponse
Vous devez être connecté pour poster un message !
Mon application ArgoCD est constamment en
OutOfSyncalors que j'ai pas touché au repo Git. LediffArgoCD me montre des changements que je n'ai pas faits. Comment je remets ça d'aplomb sans tout péter ?