Comments (5)
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.
confirming this
from traefik.
Related Issues (20)
- Traefik does not resolve TLS ingress if termination secret created after ingress HOT 1
- More resiliant approach for in-flight requests on terminating Pods HOT 5
- traefik_open_connections metric drifts down until negative HOT 8
- Service label in traefik_service_server_up metric is not human-readable HOT 4
- filter query params from logs HOT 1
- Dual Logging paths HOT 1
- rate limit middleware to support long latency requests HOT 1
- Log files not persisted on container restart HOT 2
- Cannot load rules / directives from config files HOT 4
- Can't upload docker images larger than 2GB via traefik 3.0 proxy HOT 8
- The final response code of my api service when using traefik error middleware is of main service ? - error service ? HOT 1
- provider=swarm - Gateway time-out Error code 504 HOT 1
- Kubernetes Ingress With Wildcard Host Doesn't Cover Hosts With Undescores (_) HOT 1
- Traefik V3 break on TCP Routers filter HOT 1
- Limit connections by a single IP address. HOT 5
- Support loading certificates from Cert-Manager HOT 1
- Post-Quantum Key Exchange support for HTTPS HOT 3
- To support HTTP Basic authentication for docker/swarm provider's endpoint HOT 1
- Environment Variables HOT 3
- Basic Auth Automatically encode Base64 - basicauth.users HOT 2
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.