-
Notifications
You must be signed in to change notification settings - Fork 770
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
feat: ability to override liveness and readiness probe paths #1041
Conversation
Hello @matkam, Thanks for your interest in Traefik. You wrote a plugin, that's cool. FTM, there is no plugin supported with this chart. At first glance, I'm not sure to understand why would someone consider Traefik not ready when a threshold on CPU is reached. It's usually managed with HPA or VPA. As explained in the README:
So => Would you please detail the use case of this plugin ? (and so why we should consider include it ?) |
Hi @mloiseleur!
This is true under the normal circumstance of short lived HTTP requests, but does not hold true with long running WebSocket connections (multiple hours). The problem is that even after scaling up Traefik Pods, older saturated Pods will continue to receive new connections, and can become overloaded. To get around this problem, we are currently over provisioning Traefik. But if Traefik gets taken out of rotation once it has reached a usage threshold, over provisioning wouldn't be necessary. Weighted load balancing would probably work better, but not all cloud providers have load balancers that can do that. |
There is an open issue on readiness : traefik/traefik#10458 You can also tune your probe using api/rawdata content. |
thanks for the tip @mloiseleur! I've added a rawdata check to my readiness plugin: livekit/traefik-readiness-plugin@af7e8f8. though I'm not sure how much this will help, if it takes longer than |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
To me, nothing is specific here. Some people might want to tune it using @matkam plugin or not.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This PR contains the following updates: | Package | Type | Update | Change | Pending | |---|---|---|---|---| | [traefik](https://traefik.io/) ([source](https://github.com/traefik/traefik-helm-chart)) | HelmChart | major | `27.0.2` -> `29.0.1` | `30.0.1` (+1) | --- ### Release Notes <details> <summary>traefik/traefik-helm-chart (traefik)</summary> ### [`v29.0.1`](https://github.com/traefik/traefik-helm-chart/releases/tag/v29.0.1) [Compare Source](traefik/traefik-helm-chart@v29.0.0...v29.0.1) ##### [29.0.1](traefik/traefik-helm-chart@v29.0.0...v29.0.1) (2024-07-09) ##### Features - ✨ publish chart on OCI registry ([deaddf5](traefik/traefik-helm-chart@deaddf5)) ##### Bug Fixes - RBACs for hub and disabled namespaced RBACs ([0827106](traefik/traefik-helm-chart@0827106)) - semverCompare failing on some legitimate tags ([143b96f](traefik/traefik-helm-chart@143b96f)) ### [`v29.0.0`](https://github.com/traefik/traefik-helm-chart/releases/tag/v29.0.0) [Compare Source](traefik/traefik-helm-chart@v28.3.0...v29.0.0) ##### Upgrade Notes This is a major breaking upgrade. [Migration guide](https://doc.traefik.io/traefik/v3.1/migration/v3/#v30-to-v31) from v3.0 to v3.1rc has been applied on this chart. This release supports both Traefik Proxy v3.0.x and v3.1rc. It comes with those⚠️ breaking changes⚠️ : - Far better support on Gateway API v1.1: Gateway, GatewayClass, CRDs & RBAC ([#​1107](traefik/traefik-helm-chart#1107)) - Many changes on CRDs & RBAC ([#​1072](traefik/traefik-helm-chart#1072) & [#​1108](traefik/traefik-helm-chart#1108)) - Refactor on Prometheus Operator support. Values has changed ([#​1114](traefik/traefik-helm-chart#1114)) - Dashboard `IngressRoute` is now disabled by default ([#​1111](traefik/traefik-helm-chart#1111)) CRDs needs to be upgraded: `kubectl apply --server-side --force-conflicts -k https://github.com/traefik/traefik-helm-chart/traefik/crds/` ##### Features - ✨ migrate to endpointslices rbac ([0449b0b](traefik/traefik-helm-chart@0449b0b)) - ✨ update CRDs & RBAC for Traefik Proxy ([228c4e4](traefik/traefik-helm-chart@228c4e4)) - allow to set hostAliases for traefik pod ([42e5745](traefik/traefik-helm-chart@42e5745)) - **dashboard:** dashboard `IngressRoute` should be disabled by default ([d9b856a](traefik/traefik-helm-chart@d9b856a)) - **providers:** add nativeLBByDefault support ([e75a85c](traefik/traefik-helm-chart@e75a85c)) - **providers:** improve kubernetesGateway and Gateway API support ([2eb640a](traefik/traefik-helm-chart@2eb640a)) - **workflow:** add oci push ([aa3022a](traefik/traefik-helm-chart@aa3022a)) ##### Bug Fixes - **dashboard:** Only set ingressClass annotation when kubernetesCRD provider is listening for it ([f142f6c](traefik/traefik-helm-chart@f142f6c)) - **rbac:** nodes API permissions for Traefik v3.1+ ([647439d](traefik/traefik-helm-chart@647439d)) - allow multiples values in the `secretResourceNames` slice ([24978e8](traefik/traefik-helm-chart@24978e8)) - 🐛 improve error message on additional service without ports ([d4cab24](traefik/traefik-helm-chart@d4cab24)) - prometheus operator settings ([7d3a90d](traefik/traefik-helm-chart@7d3a90d)) ##### Documentation - fix typos and broken link ([e43afd4](traefik/traefik-helm-chart@e43afd4)) #### New Contributors - [@​justinrush](https://github.com/justinrush) made their first contribution in traefik/traefik-helm-chart#1093 - [@​x0ddf](https://github.com/x0ddf) made their first contribution in traefik/traefik-helm-chart#1094 - [@​traefiker](https://github.com/traefiker) made their first contribution in traefik/traefik-helm-chart#1101 - [@​mmetc](https://github.com/mmetc) made their first contribution in traefik/traefik-helm-chart#1102 ### [`v28.3.0`](https://github.com/traefik/traefik-helm-chart/releases/tag/v28.3.0) [Compare Source](traefik/traefik-helm-chart@v28.2.0...v28.3.0) ##### Features - allow setting permanent on redirectTo ([1b454e9](traefik/traefik-helm-chart@1b454e9)) ##### Bug Fixes - **Security:** 🐛 🔒️ mount service account token on pod level (\[[`db4f43f`](https://github.com/traefik/traefik-helm-chart/commit/db4f43f)]\(https://github.com/traefik/traefik-helm-chart/commit/ - **Traefik Hub:** remove namespace in mutating webhook ([f8f2da2](traefik/traefik-helm-chart@f8f2da2)) - **Traefik Hub:** remove obsolete CRD ([4fcec62](traefik/traefik-helm-chart@4fcec62)) - 🐛 namespaced rbac when kubernetesIngress provider is disabled ([3bb41f7](traefik/traefik-helm-chart@3bb41f7)) [`db4f43f`](traefik/traefik-helm-chart@db4f43f))) - 🐛 add divisor: '1' to GOMAXPROCS and GOMEMLIMIT ([9ccbee2](traefik/traefik-helm-chart@9ccbee2)) #### New Contributors - [@​hawkesn](https://github.com/hawkesn) made their first contribution in traefik/traefik-helm-chart#1085 - [@​berlincount](https://github.com/berlincount) made their first contribution in traefik/traefik-helm-chart#1082 **Full Changelog**: traefik/traefik-helm-chart@v28.2.0...v28.3.0 ### [`v28.2.0`](https://github.com/traefik/traefik-helm-chart/releases/tag/v28.2.0) [Compare Source](traefik/traefik-helm-chart@v28.1.0...v28.2.0) :warning: This release align to Kubernetes default (*Always*) for `podSecurityContext.fsGroupChangePolicy`. It was *OnRootMismatch* in previous release of this chart. It can easily be set (back) to *OnRootMismatch* if needed, see [EXAMPLES](https://github.com/traefik/traefik-helm-chart/blob/master/EXAMPLES.md#use-traefik-native-lets-encrypt-integration-without-cert-manager). ##### Features - ✨ simplify values and provide more examples ([4eb71eb](traefik/traefik-helm-chart@4eb71eb)) - add deletecollection right on secrets ([fb69807](traefik/traefik-helm-chart@fb69807)) - update traefik docker tag to v3.0.1 by [@​renovate](https://github.com/renovate) in traefik/traefik-helm-chart#1075 ##### Bug Fixes - **IngressClass:** provides annotation on IngressRoutes when it's enabled ([f5de0c3](traefik/traefik-helm-chart@f5de0c3)) #### New Contributors - [@​jspdown](https://github.com/jspdown) made their first contribution in traefik/traefik-helm-chart#1077 **Full Changelog**: traefik/traefik-helm-chart@v28.1.0...v28.2.0 ### [`v28.1.0`](https://github.com/traefik/traefik-helm-chart/releases/tag/v28.1.0) [Compare Source](traefik/traefik-helm-chart@v28.0.0...v28.1.0) ##### Features - **Traefik Hub:** add initial support for API Gateway ([dc5c68d](traefik/traefik-helm-chart@dc5c68d)) - **Traefik Hub:** use Traefik Proxy otlp config ([a910db4](traefik/traefik-helm-chart@a910db4)) ##### Bug Fixes - **Traefik Hub:** refine support ([60d210d](traefik/traefik-helm-chart@60d210d)) - **Traefik Hub:** do not deploy mutating webhook when enabling only API Gateway ([cb2a98d](traefik/traefik-helm-chart@cb2a98d)) ##### Documentation - **example:** Update Digital Ocean PROXY Protocol ([9850319](traefik/traefik-helm-chart@9850319)) - 📚️ improve UPGRADING section ([54ec665](traefik/traefik-helm-chart@54ec665)) ### [`v28.0.0`](https://github.com/traefik/traefik-helm-chart/releases/tag/v28.0.0) [Compare Source](traefik/traefik-helm-chart@v27.0.2...v28.0.0) ##### ⚠ BREAKING CHANGES - 💥 initial support of Traefik Proxy v3 - See [Migration guide from v2 to v3](https://doc.traefik.io/traefik/v3.0/migration/v2-to-v3/) and upgrading section of this chart on CRDs. ##### Features - **podtemplate:** set GOMEMLIMIT, GOMAXPROCS when limits are defined ([e4f2aa8](traefik/traefik-helm-chart@e4f2aa8)) - 💥 initial support of Traefik Proxy v3 ([536059d](traefik/traefik-helm-chart@536059d)) - ✨ add support of `experimental-v3.0` unstable version ([579984c](traefik/traefik-helm-chart@579984c)) - ✨ fail gracefully when required port number is not set ([f8be5e1](traefik/traefik-helm-chart@f8be5e1)) - **ports:** add transport options ([47e0f28](traefik/traefik-helm-chart@47e0f28)) - ability to override liveness and readiness probe paths ([ea95df0](traefik/traefik-helm-chart@ea95df0)) ##### Bug Fixes - 🐛 logs filters on status codes ([c204014](traefik/traefik-helm-chart@c204014)) - 🐛 only expose http3 port on service when TCP variant is exposed ([2d6243d](traefik/traefik-helm-chart@2d6243d)) ##### Styles - 🎨 consistent capitalization on `--entryPoints` CLI flag ([b1f6f96](traefik/traefik-helm-chart@b1f6f96)) ##### Documentation - 📚️ improve EXAMPLES on acme resolver ([2252aba](traefik/traefik-helm-chart@2252aba)) #### New Contributors - [@​matkam](https://github.com/matkam) made their first contribution in traefik/traefik-helm-chart#1041 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjcuMCIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Reviewed-on: https://code.geekbundle.org/madic/git-ops-dev/pulls/168 Co-authored-by: renovate Bot <renovate@geekbundle.org> Co-committed-by: renovate Bot <renovate@geekbundle.org>
What does this PR do?
Provides the option to override the liveness and readiness probe HTTP GET paths.
Motivation
I wrote a Traefik Plugin that adds some functionality to be used by the readiness probe only. In order to use it, the readiness probe path needs to be different from the liveness probe path. Here is the plugin: https://github.com/livekit/traefik-readiness-plugin
More
make test
and all the tests passed