Skip to content

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 (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, KubernetesCRD, and KubernetesGateway provider RBACs):

  • the endpoints right has to be removed and the following endpointslices right has to be added:
  ... 
  - apiGroups:
      - discovery.k8s.io
    resources:
      - endpointslices
    verbs:
      - list
      - watch
  ...
  • the nodes right has to be added:
  ...
  - 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.

An example of the experimental kubernetesgateway option
experimental:
  kubernetesgateway: true
[experimental]
    kubernetesgateway=true
--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.

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).