-
Notifications
You must be signed in to change notification settings - Fork 5.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Application controller excessive reconciling #9014
Comments
can u check in logs what exactly is triggering excess reconcile as log included here and released in v2.3.0, can't see in added logs |
In our environment ExternalSecret/ClusterExternalSecret cause this issue |
@mikutas Could you explain your case & solution, please? |
@ku524 argo-cd/controller/appcontroller.go Line 366 in 097ed6f
Because CRD's status is only ignored by default.argo-cd/util/settings/settings.go Line 764 in 15b0785
https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#system-level-configuration
|
fix: check if reconcilation loop cpu usage is due to es Ref argoproj/argo-cd#9014
I faced a similar issue recently on my local cluster. In my case I was using External Secrets too, but I was also using it for syncing Argo's username, password (using ES's templating features): Since ArgoCD creates the It led to some sort of weird loop wherein the External Secret update led to Secret Update which triggered reconciliation which led to External Secret update again. I had to disable the secret generation by argo and disable the merging, but as others mentioned Everything seems to be working fine now even after a couple of external secret refreshes. On a separate note, it would be good to have #10393 For reference, these are the changes: iamKunal/home-k8s-gitops-mirror@da2f3e0 |
The behavior can be configured in |
Describe the bug
When Kubernetes resource contained within Argo-CD application changes rapidly in target cluster and namespace (due to bug in eg. some other operator), it causes application controller getting loaded.
To Reproduce
Have a resource updating rapidly in application's target namespace.
Expected behavior
Application controller should detect this happens, and backoff refreshing applications exponentially, potentially remove watches for specific time on that application.
Even if root cause of resource updating rapidly is certainly bug somewhere else, it should not cause argo-cd to fail or spend excess amount of CPU to constantly reconcile application.
Version
Logs
In case here, we have argo-events sensor object updating rapidly due to unknown cause, but we've seen this happen with other CR's and operators too.
The text was updated successfully, but these errors were encountered: