-
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
Deployment is still progressing since Ingress resource is not considered as synced #1704
Comments
Please see. https://argoproj.github.io/argo-cd/faq/ You can use this for the Ingress (thank you @stevesea ) resource.customizations: |
extensions/Ingress:
health.lua: |
hs = {}
hs.status = "Healthy"
return hs |
This is perfect, many thanks :) @stevesea ! |
I'm facing the same issue, can you explain where you set this block @alexec ? is this in the argo configmap? |
yes, it's in the argocd-cm configmap. Here's the relevant section of the documentation: https://argoproj.github.io/argo-cd/operator-manual/health/#way-1-define-a-custom-health-check-in-argocd-cm-configmap |
Huh, i don't seem to be able to get this to work, i see the snippet i added in the argocd-cm configmap correctly, i rebooted the argocd-server pods and im still seeing my ingress as progressing. What am i missing? This is with 1.5.1. |
Me either, I don't know how to troubleshoot this. I added the resource customization, reloaded all pods related to argoCD. I'm using HA-Proxy's ingress controller and Kubernetes' Ingress (not some fancy custom resource). Kubernetes v1.17.0
I tried unsuccessfully with |
Hi. You need to make sure to apply the resource customization to the correct resource type. I think recent versions of Kubernetes moved the resource.customizations: |
extensions/Ingress: before should now be resource.customizations: |
networking.k8s.io/Ingress: |
Hi, |
Encountered the same problem, the above method can solve this problem, but there is a new problem. can not delete the application version 1.5.4 |
For Traefik users : https://doc.traefik.io/traefik/providers/kubernetes-ingress/#publishedservice |
@enys Thanks for the great tip, I've ended up at this issue several times, but for those of us traefik users yours is the correct answer (as it actually fixes the issue rather than ignoring it). The documentation you linked is absolutely correct but when I read it I was still a bit confused so here are a few details for others that might stumble upon this issue. The traefik I was thinking to myself when first reading the documentation that I'd need to set that flag to the service that each downstream ingress object targeted, but the reality is that it just needs to be set to the namespace/service of traefik itself. As you noted it's very easy via the helm chart: providers:
kubernetesIngress:
publishedService:
enabled: true This ends up just adding the following flag (assuming traefik is installed in the
|
@fernferret thanks and yes. Your write up here could be added to the docs ! |
For K3S Users that should come across this that are confused about how to actually implement the fix above, edit /var/lib/rancher/k3s/server/manifests/traefik.yaml and add the above-provided lines, so that it looks roughly like this:
Then restart K3S. You should then look at the config map ('kubectl -n kube-system get cm/traefik -o yaml') and you'll see these lines added:
Thanks @enys and @fernferret for the solution! |
For helm user, add this into traefik override.yaml:
And upgrade traefik use helm. |
for non helm charts.. Where we can add this in deploy file of traefik ? and let how to use this inside deploy file |
It's easy to find .
|
For those who could still find this thread in 2023:
It works now! |
Shouldn't this be the default behavior? I dont think it makes sense that everyone has to adjust config maps. |
It's 2023 and I still have this issue. Is this put in the argocd values.yaml? Can you provide a step by step guide for all future sufferers... |
直接修改这个configmap:
改完后argocd会自动生效 |
This worked great. Modify this configmap directly: argocd-cm
argocd will automatically take effect after the modification |
I using Helm Chart to deploy ArgoCD and I have nginx Ingress contoroller, I used this
After update, just Resync your applications Ingress resource. |
I added that in ConfigMap argocd-cm and reload all pods with argoCD
but it doesn't help, ingress-nginx-controller still processing |
See official info for future fix: https://argo-cd.readthedocs.io/en/stable/faq/#why-is-my-application-stuck-in-progressing-state |
I'm sorry to revive this "obvious" thread, but I spent more than 2 hours trying to understand what I'm doing wrong and failed. I'm using the latest stable version of Argo CD, v2.11.0, with the latest stable version of Argo Rollouts, v1.6.6, and trying this example: https://argoproj.github.io/argo-rollouts/getting-started/nginx/ with the NGINX Ingress Controller v1.10.1 installed via Helm. I manually created the application in Argo CD and then bumped into the same issue as others in this thread. I've read the documentation at https://argo-cd.readthedocs.io/en/stable/faq/#why-is-my-application-stuck-in-progressing-state I also tried to apply the suggested fixes above but the issue persists. Since this appears to be a recurring problem, can we please get a clear documentation on how to fix this and update the examples in the documentation with how to fix this too? I'd be happy to send PRs to the documentation with the fix, but I don't know how to fix this in the first place :/ |
Hi @dlsniper See how I deployed ArgoCD using Terraform, working fine for me: https://github.com/adv4000/argocd-terraform/tree/main/terraform_argocd_eks |
@adv4000 thank you! When using the latest version of the Helm chart, 6.9.2, the [...]
configs:
cm:
resource.customizations: |
networking.k8s.io/Ingress:
health.lua: |
hs = {}
hs.status = "Healthy"
return hs
[...] Thanks to argoproj/argo-helm#1872 (comment) I can now report that Argo CD works as expected. |
great job! Just very helpful for traefik users! |
The
solution did not work for me. Despite verifying that it is applied in the
...therefore the health check remains stuck at "Processing". The custom health check solution ("resource.customizations") worked. Let me know if you have any other ideas on how to debug the |
In my case, I was using Traefik with HostNetwork so the I resorted to working around the problem in Argo itslef |
Deployment is still progressing since Ingress resource is not considered as synced
Describe the bug
We deploy an application in an "On Premise" Kubernetes using nginx Ingress. When deploying an application through Argo, the ingress object is still syncing although the application is available behind the Ingress.
Consequently, our deployment is still progressing in Argo.
We think that this is related to that PR https://github.com/argoproj/argo-cd/pull/1053/files#diff-d5a0105b0157a44898f0cd002d7d827dR157 and that issue #997 .
Our ingress controller is nginx and each ingress has the following status (which is a healthy status according to us):
To Reproduce
Expected behavior
The ingress should be deployed in the Kubernetes cluster, and still be syncing in Argo. The Application deployment should still be progressing.
Screenshots
If applicable, add screenshots to help explain your problem.
Version
Logs
Have you thought about contributing a fix yourself?
Yes :)
Open Source software thrives with your contribution. It not only gives skills you might not be able to get in your day job, it also looks amazing on your resume.
If you want to get involved, check out the
contributing guide, then reach out to us on Slack so we can see how to get you started.
The text was updated successfully, but these errors were encountered: