5ed972ccd8
Co-authored-by: Romain <rtribotte@users.noreply.github.com>
105 lines
3 KiB
Markdown
105 lines
3 KiB
Markdown
---
|
|
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.
|
|
It also brings NodePort load-balancing which requires Nodes resources lookup.
|
|
|
|
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:
|
|
|
|
```yaml
|
|
...
|
|
- apiGroups:
|
|
- discovery.k8s.io
|
|
resources:
|
|
- endpointslices
|
|
verbs:
|
|
- list
|
|
- watch
|
|
...
|
|
```
|
|
|
|
- the `nodes` right has to be added:
|
|
|
|
```yaml
|
|
...
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- nodes
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
...
|
|
```
|
|
|
|
#### 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).
|
|
|
|
## 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).
|
|
|
|
## v3.1 to v3.2
|
|
|
|
### Kubernetes Gateway Provider RBACs
|
|
|
|
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
|
|
...
|
|
```
|