flagger
flagger copied to clipboard
Flagger-managed `TraefikService` resources use the deprecated traefik.containo.us Kubernetes API group
Describe the bug
The TraefikService
resources that Flagger creates use the traefik.containo.us
Kubernetes API group that has been deprecated in Traefik v3.
To Reproduce
- Create a Flagger Canary resource that uses the
traefik
provider. - Upgrade Traefik to v3.
- Observe the following errors in Traefik logs:
ERR error="the service \"default-podinfo-canary@kubernetescrd\" does not exist" entryPointName=web routerName=web-default-podinfo-canary-3dfb9b2aaefc944f017e@kubernetescrd
Looking at the TraefikService
manifest that Flagger creates, it uses the traefik.containo.us
Kubernetes API group that has been deprecated in the latest Traefik release:
apiVersion: traefik.containo.us/v1alpha1
kind: TraefikService
metadata:
annotations:
helm.toolkit.fluxcd.io/driftDetection: disabled
kustomize.toolkit.fluxcd.io/reconcile: disabled
creationTimestamp: "2023-10-25T13:18:14Z"
generation: 60
name: podinfo-canary
namespace: default
ownerReferences:
- apiVersion: flagger.app/v1beta1
blockOwnerDeletion: true
controller: true
kind: Canary
name: podinfo-canary
uid: d8071248-c040-4c39-861d-ac75bd6e6c05
resourceVersion: "3271693529"
uid: 6cae73fe-28c4-4c55-8aae-f7c58b65e487
spec:
weighted:
services:
- name: podinfo-canary-primary
namespace: default
port: 80
weight: 100
Expected behavior
Flagger creates TraefikService
resources with the new traefik.io
Kubernetes API group.
Additional context
- Flagger version: 1.37.0
- Kubernetes version: 1.27.11
- Service Mesh provider: N/A
- Ingress provider: Traefik