Implementation of serving not ready endpoints

This commit is contained in:
Valéry Fouques
2024-12-11 13:54:05 +01:00
committed by GitHub
parent a4c0b1649d
commit 9588e51146
13 changed files with 204 additions and 42 deletions
@@ -982,6 +982,9 @@ More information in the dedicated [mirroring](../services/index.md#mirroring-ser
As explained in the section about [Sticky sessions](../../services/#sticky-sessions), for stickiness to work all the way,
it must be specified at each load-balancing level.
When stickiness is enabled, Traefik uses Kubernetes [serving](https://kubernetes.io/docs/concepts/services-networking/endpoint-slices/#serving) endpoints status to detect and mark servers as fenced.
Fenced servers can still process requests tied to sticky cookies, while they are terminating.
For instance, in the example below, there is a first level of load-balancing because there is a (Weighted Round Robin) load-balancing of the two `whoami` services,
and there is a second level because each whoami service is a `replicaset` and is thus handled as a load-balancer of servers.
@@ -391,6 +391,11 @@ which in turn will create the resulting routers, services, handlers, etc.
traefik.ingress.kubernetes.io/service.sticky.cookie.path: /foobar
```
## Stickiness and load-balancing
When stickiness is enabled, Traefik uses Kubernetes [serving](https://kubernetes.io/docs/concepts/services-networking/endpoint-slices/#serving) endpoints status to detect and mark servers as fenced.
Fenced servers can still process requests tied to sticky cookies, while they are terminating.
## Path Types on Kubernetes 1.18+
If the Kubernetes cluster version is 1.18+,