Comments (4)
We are suffering from the same problem. Traefik is reporting readiness before all currently deployed K8s ingress manifest are consumed, causing 404 errors anytime new traefik pods come up (during redeploys or scaling events).
Especially for instances with many ingresses this is a problem (our biggest tenants have up to 400 ingresses).
Thanks for the hint with /api/rawdata
, I am now using this as a workaround in a sidecar container by checking it multiple times on a loop until the amount of routers has been constant within a defined stabilization window. I am using a sidecar instead of a startupProbe in the traefik container to have more tooling (curl, jq) available. The check is only done initially and checked by a startupProbe, the sidecar sleeps afterwards.
from traefik.
Hey @mloiseleur!
Thanks for your suggestion.
We are interested in this issue, but we’re unsure about the use case and the traction it will receive. We are going to leave the status as kind/proposal to give the community time to let us know if they would like this idea.
We will reevaluate as people respond.
from traefik.
but we’re unsure about the use case
I thought this is rather obvious. Currently, traefik pods become ready and as such attract traffic before having consumed all relevant configuration data from the Kubernetes API.
Consequence: Clients see error 404 for their requests for a while, while traefik becomes ready over time.
from traefik.
I confirm the issue.
Without this endpoint, I don't find a generic and reliable way to setup a k8s probe that tells if traefik is really ready.
So, when Traefik has not setup all its routes, but is already considered "ready" by k8s (with its default probe), part of the traffic can be sent to a wrong route.
In my case, I have some routes that require a Basic Auth and/or use the default self-signed TLS certificate.
As a consequence, the user can receive a Basic Auth pop-up where there should not be any and/or a browser warning about the TLS certificate. It's very disturbing for users, and can happen on each Traefik restart.
from traefik.
Related Issues (20)
- why Forwarded Headers client's IP is 127.0.0.1 not real ip (172.10.10.3) HOT 1
- Traefik Ingress Response Time Out HOT 1
- TLS certificate generation mix the CN and SANs HOT 1
- Keep URIs in server list
- Add shellrent as dnschallenge provider HOT 2
- Plugin file or directory could not be found in Pod HOT 2
- Create a cross namespace load balancing using IngressRouteTCP, where only the last service can be accessed HOT 4
- Only one node serve proper certificate HOT 3
- traefik_service_requests_total Inaccurate total count
- InfluxDB Metrics provider not working in v3.0 HOT 3
- Error with StripPrefix Middleware : `field not found, node: forceSlash` HOT 2
- Access log has many items with "0" HOT 3
- MySQL client cannot connect to database when using SNI routing with TLS HOT 1
- [v3] Support the traefik.http.*.tls.passthrough label again HOT 1
- providers.docker.defaultrule HOT 4
- Dashboard No longer working HOT 7
- bogus greeting in traefik -> traefik communication HOT 4
- using forwardAuth + authResponseHeaders drops some original client headers HOT 1
- PathPrefix RegEx HOT 3
- ReplacePathRegex - Allow Empty String for `replacement` HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from traefik.