-
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
handle api server blips #3043
Comments
@slaupster we disable the resync of the informers #2634 |
Thanks for the reply @aledbf #2634 made it into 0.16.0 - I've hit this issue more than once with 0.17.1. Logs look like Nginx Ingress Pods were running happily for days before and days since, so it recovers fine.
|
This is expected. The informers (sync mechanism from client-go) detect connections issues with the apiserver. The content of the informers (services, configmap, endpoints, secrets) should be there. W0827 21:25:41.767916 8 controller.go:359] Service does not have any active Endpoint This is should not happen. Let me see if I can reproduce locally |
@slaupster I cannot reproduce the issue you are describing. Please check the gist https://gist.github.com/aledbf/5a24605f2083558b2d3be2b014c43c44 Scenarios:
|
@slaupster also, when the server returned there wasn't a single reload. From your logs it seems that you have connectivity issues with the master and some ingress/service changed? |
Closing. Please reopen if you can provide a reproducible scenario of the issue you described. |
NGINX Ingress controller version: 0.17.1
Kubernetes version (use
kubectl version
):1.10.7Environment: Any
uname -a
): N/AWhat happened:
When the API server is unavailable, nginx ingress stops working, believing no services are available. This causes a total ingress outage when config update happens, but only the api server is unavailable.
Everything in the data plane is fine.
What you expected to happen:
Nginx Ingress should know the underlying k8 client cannot connect to the api server and temporarily disable config update. This is not ideal and there is nothing to do other than get the api server back, but its better than a total outage. Once connection to API server is restored and successful inform cycle has run, re-enable the config update.
How to reproduce it (as minimally and precisely as possible):
Set up an ingress, stop/inhibit the API server, wait for Informers to update (with nothing), observe that the ingress no longer works, yet actual pods and services are still active and viable.
Anything else we need to know: no
The text was updated successfully, but these errors were encountered: