-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
[Feature request] Ignore resources #9819
Comments
Maybe related: #9558 |
We actually prevent Endpoints from refresh Applications because we know these objects to be of high churn. Likewise, I think we may want to do the same for EndpointSlices: This code was written before EndpointSlices was a thing |
I am also wondering if some parts of DaemonSet should be ignored as well. On high churn clusters we get pretty high resource utilization on the app controller and a lot of messages in debug logs about app refreshes being triggered by status changes from DaemonSets.
Setting:
As suggested by some in #8100 didn't appear to have an effect. |
The behavior can be configured in |
@agaudreault-jive how? based on what I saw when comparing yamls,
|
@astralko You can take a look at https://argo-cd.readthedocs.io/en/stable/operator-manual/argocd-cm-yaml/ for more examples. for the annotations, I think it would need to be specified like Also, the ignore resource updates will only be applied to tracked resources. In the case of autoscaling, I am not sure it is the best idea to use this feature. The configurations are on the server side and will apply to all resources for any Application. Ignoring those fields would cause all your deployments and replicaSet to have potentially out-of-date status. Maybe reducing the frequency of the autoscaler with minimum delay and cooldown period would help mitigate the issue. |
@agaudreault-jive thanks. I tried increasing the autoscaler polling interval but it didn't help. |
Summary
I would like to tell ArgoCD to completely ignore some resources.
Motivation
I have a few resources that change often, and because of that ArgoCD wastes a lot of CPU doing nothing.
I have for example a
ConfigMap
from KubeVirt CDI namedcdi-operator-leader-election-helper
that has one annotation namedcontrol-plane.alpha.kubernetes.io/leader
changing all the time. The annotation is actually ignored and ArgoCD doesn't do any update (No status changes. Skipping patch
) but still, it wastes a lot of CPU and network bandwidth.I also have one
EndpointSlice
from a TimeScaleDB chart that has arenewTime
changing often. It is ignored but still, I can see the resource usage increasing a lot when the resource is managed by ArgoCD.I tried to add the annotation
argocd.argoproj.io/hook: Skip
on the resources I want to ignore, but it doesn't prevent the resource to trigger reconciliations in ArgoCD when it is updated.Proposal
One annotation such as
argocd.argoproj.io/ignore: true
would work for example.The text was updated successfully, but these errors were encountered: