traefik / mesh

Traefik Mesh - Simpler Service Mesh
https://traefik.io/traefik-mesh
Apache License 2.0
2.02k stars 141 forks source link

Support CoreDNS version 1.8.0+ #787

Closed colearendt closed 3 years ago

colearendt commented 3 years ago

Feature Request

Support CoreDNS version 1.8.0+

Proposal

The current implementation seems to fail on CoreDNS version 1.8.0. I propose supporting that version 😄

https://github.com/traefik/mesh/blob/e53767daee443f55338a4ffcf07e66b39afb630f/pkg/dns/client.go#L40

https://github.com/traefik/mesh/blob/e53767daee443f55338a4ffcf07e66b39afb630f/pkg/dns/client.go#L100-L104

Background

Installing traefik-mesh into a cluster with CoreDNS 1.8.0 fails with:

$ kubectl logs traefik-mesh-controller-6c4768b4c7-dm2w5 -c traefik-mesh-prepare
2021/01/28 06:10:04 command prepare error: unable to find suitable DNS provider: unsupported CoreDNS version "1.8.0"

Interestingly, traefik-mesh-cleanup also cannot complete properly due to the DNS version, which makes my helm deployment failure clean up improperly.

# kubectl logs traefik-mesh-cleanup-k6ptr
2021/01/28 06:00:33 command cleanup error: error encountered during DNS restore: unsupported CoreDNS version "1.8.0"

Workarounds

Downgrade CoreDNS

0rax commented 3 years ago

This is definitely an issue preventing us from upgrading our cluster to Kubernetes 1.20 on EKS as the default CoreDNS version there is 1.8.0.

I will check and see if there is any major change preventing mesh from working with CoreDNS 1.8 by default just in case we just need to update the code to support it.

Was there any research already done on the subject by someone at Traefik ?

traefiker commented 3 years ago

Closed by #790.