2024-06-21 12:56:03 +00:00
---
title: "Traefik Migration Documentation"
description: "Learn the steps needed to migrate to new Traefik Proxy v3 versions. Read the technical documentation."
---
# Migration: Steps needed between the versions
## v3.0 to v3.1
### Kubernetes Provider RBACs
Starting with v3.1, the Kubernetes Providers now use the [EndpointSlices API ](https://kubernetes.io/docs/concepts/services-networking/endpoint-slices/ ) (Kubernetes >=v1.21) to discover service endpoint addresses.
2024-08-01 13:50:04 +00:00
It also brings NodePort load-balancing which requires Nodes resources lookup.
2024-06-21 12:56:03 +00:00
2024-08-01 13:50:04 +00:00
Therefore, in the corresponding RBACs (see [KubernetesIngress ](../routing/providers/kubernetes-ingress.md#configuration-example ), [KubernetesCRD ](../reference/dynamic-configuration/kubernetes-crd.md#rbac ), and [KubernetesGateway ](../reference/dynamic-configuration/kubernetes-gateway-rbac.yml ) provider RBACs):
- the `endpoints` right has to be removed and the following `endpointslices` right has to be added:
2024-06-21 12:56:03 +00:00
```yaml
...
- apiGroups:
- discovery.k8s.io
resources:
- endpointslices
verbs:
- list
- watch
...
```
2024-06-24 08:36:03 +00:00
2024-08-01 13:50:04 +00:00
- the `nodes` right has to be added:
```yaml
...
- apiGroups:
- ""
resources:
- nodes
verbs:
- get
- list
- watch
...
```
2024-06-24 08:36:03 +00:00
#### Gateway API: KubernetesGateway Provider
In v3.1, the KubernetesGateway Provider is no longer an experimental feature.
It can be enabled without the associated `experimental.kubernetesgateway` option, which is now deprecated.
??? example "An example of the experimental `kubernetesgateway` option"
```yaml tab="File (YAML)"
experimental:
kubernetesgateway: true
```
```toml tab="File (TOML)"
[experimental]
kubernetesgateway=true
```
```bash tab="CLI"
--experimental.kubernetesgateway=true
```
##### Remediation
The `kubernetesgateway` option should be removed from the experimental section of the static configuration.
To configure `kubernetesgateway` , please check out the [KubernetesGateway Provider documentation ](../providers/kubernetes-gateway.md ).
2024-08-01 13:50:04 +00:00
## v3.1.0 to v3.1.1
### IngressClass Lookup
The Kubernetes Ingress provider option `disableIngressClassLookup` has been deprecated in v3.1.1, and will be removed in the next major version.
Please use the `disableClusterScopeResources` option instead to avoid cluster scope resources discovery (IngressClass, Nodes).
2024-08-30 08:36:06 +00:00
## v3.1 to v3.2
2024-09-26 07:12:04 +00:00
### Kubernetes Gateway Provider Standard Channel
2024-08-30 08:36:06 +00:00
Starting with v3.2, the Kubernetes Gateway Provider now supports [GRPCRoute ](https://gateway-api.sigs.k8s.io/api-types/grpcroute/ ).
Therefore, in the corresponding RBACs (see [KubernetesGateway ](../reference/dynamic-configuration/kubernetes-gateway.md#rbac ) provider RBACs),
the `grcroutes` and `grpcroutes/status` rights have to be added.
```yaml
...
- apiGroups:
- gateway.networking.k8s.io
resources:
- grpcroutes
verbs:
- get
- list
- watch
- apiGroups:
- gateway.networking.k8s.io
resources:
- grpcroutes/status
verbs:
- update
...
```
2024-09-26 07:12:04 +00:00
### Kubernetes Gateway Provider Experimental Channel
!!! warning "Breaking changes"
Because of a breaking change introduced in Kubernetes Gateway [v1.2.0-rc1 ](https://github.com/kubernetes-sigs/gateway-api/releases/tag/v1.2.0-rc1 ),
Traefik v3.2 only supports Kubernetes Gateway v1.2.x when experimental channel features are enabled.
Starting with v3.2, the Kubernetes Gateway Provider now supports [BackendTLSPolicy ](https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/ ).
Therefore, in the corresponding RBACs (see [KubernetesGateway ](../reference/dynamic-configuration/kubernetes-gateway.md#rbac ) provider RBACs),
the `backendtlspolicies` and `backendtlspolicies/status` rights have to be added.
```yaml
...
- apiGroups:
- gateway.networking.k8s.io
resources:
- backendtlspolicies
verbs:
- get
- list
- watch
- apiGroups:
- gateway.networking.k8s.io
resources:
- backendtlspolicies/status
verbs:
- update
...
```