k3s-io / k3s

Lightweight Kubernetes
https://k3s.io
Apache License 2.0
27.39k stars 2.3k forks source link

Update the Traefik chart #10526

Open TheDevMinerTV opened 1 month ago

TheDevMinerTV commented 1 month ago

Is your feature request related to a problem? Please describe. I'm trying to use Traefik v3 with the OpenTelemetry settings which are bugged in chart v25.0.0. See https://github.com/traefik/traefik-helm-chart/issues/999 for more info.

Describe the solution you'd like

Update the embedded Traefik chart.

Describe alternatives you've considered

Additional context Needs to happen here: https://github.com/k3s-io/k3s-charts/tree/main

brandond commented 1 month ago

We're still shipping traefik v2.x; I'm not sure when we'll switch to 3.x.

aaronz-vipaso commented 1 month ago

@brandond What is preventing the switch to Traefik v3?

brandond commented 1 month ago

The last time we did a major Traefik upgrade from v1 -> v2 we didn't even attempt to migrate folks, we just left them on v1 if it was installed, and added docs to help folks migrate when they are ready - since there were breaking changes between the two versions.

I suspect we will probably want to do something similar with this transition.

Ref: https://doc.traefik.io/traefik/migration/v2-to-v3/

aaronz-vipaso commented 3 weeks ago

@brandond What do you mean with

The last time we did a major Traefik upgrade from v1 -> v2 we didn't even attempt to migrate folks, we just left them on v1 if it was installed, and added docs to help folks migrate when they are ready - since there were breaking changes between the two versions.

So you shipped Traefik v2 with k3s but didn't automatically migrate to v2 if there was an existing Trafeik v1 deployment?

I'd also welcome this upgrade procedure for the v2 -> v3 switch.

The Traefik v3 update also has breaking changes in the IngressRoute syntax, which requires manual migration for specific scenarios (regex paths).

brandond commented 3 weeks ago

https://docs.k3s.io/networking/networking-services#traefik-ingress-controller

K3s includes Traefik v2. K3s versions 1.21 through 1.30 install Traefik v2, unless an existing installation of Traefik v1 is found, in which case Traefik is not upgraded to v2. K3s versions 1.20 and earlier include Traefik v1. For more information on the specific version of Traefik included with K3s, consult the Release Notes for your version.