-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
NGINX controller on kubernetes returns 404 "service not found" in stress-test scenario with ~200 ingress objects #9495
Comments
@ctheodoropoulos: This issue is currently awaiting triage. If Ingress contributors determines this is a relevant issue, they will accept it by applying the The Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/remove-kind bug
Please reopen this issue after you have edited the original message and provided the information asked by the template, when you begin creating a new issue /close |
@longwuyuan: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@ctheodoropoulos we had similar issue. During upscale of nginx-controller we received HTTP 404 responses from the default backend. The nginx-controller pod reported already readiness through the /healthz endpoint. However around 2400 vHost entries are still created resulting in HTTP 404 responses. We solved it by increasing the initialDelay for the readiness probe. |
What happened:
I started receiving 404 "Not Found" responses from nginx when the number of ingress resources in the cluster is rising during a stress test(~200 new ingress objects in 2-3 minutes).
The ingresses are created by the deployment of seperate applications which contain an ingress resource.
In a normal scenario after 1-3 minutes(time for DNS record creation) nginx is serving my applications correctly using the created DNS.
In the stress test scenario there are 404 "Not Found" responses for more than 40 minutes before finally all applications are served correctly.
After the stress test with ~200 ingress objects existing, new ingress objects from deployments also return 404 responses for a significant period of time before they actually work.
I noticed from the logs that backend reloads need significant time(~15 minutes) when cluster has that many ingress resources active.
Background on the issue:
Additional information:
Is this behaviour normal with the opensource version of nginx or am I missing something that could help?
What you expected to happen:
After the DNS records are functional NGINX should service the applications without responding with 404 errors.
The 40+ minute wait time is not viable in my use-case.
NGINX Ingress controller version:
Kubernetes version:
Environment:
Cloud provider or hardware configuration: EKS
OS: Alpine Linux v3.14
Kernel: Linux nginx-controller-ingress-nginx-controller-85f55cdd6-n5s8r 5.4.209-116.367.amzn2.x86_64 Basic structure #1 SMP Wed Aug 31 00:09:52 UTC 2022 x86_64 Linux
How was the ingress-nginx-controller installed: Using Helm
Helm deployment details:
Values:
USER-SUPPLIED VALUES:
The text was updated successfully, but these errors were encountered: