-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is it possible to use external-dns with a Traefik 2.0 IngressRoute resource? #1257
Comments
Here are the sources which are currently supported: service, ingress, node, fake, connector, istio-gateway, cloudfoundry, contour-ingressroute, crd, empty You can enable multiple sources. So it does not require Kubernetes Ingress, e.g. Service is also fine. |
Actually, I don't think this topic should be closed. According to the externalDNS documentation the following is stated on Service:
Which means that all the services that do not have an external-ip (when inspecting w/ kubectl get svc) will not be processed - whether or not they have a external-dns annotation. The other option that we have is to use external dns custom resource. An example definition of that custom resource looks like this:
Here the problem would be to dynamically update the target. How can I point als these custom DNSEndpoint resources to the LoadBalancer type service that is placed in front of traefik? I am concluding for the moment that Traefik2 is incompatible with ExternalDNS. Is that a correct assumption? How could we approach this? |
Any updates on how the two could work together ? |
@brondum I have had success with the Traefik 2.1 and external-dns 1.16.0 just now, like so: external-dns config (not sure if all these are necessary, included what I thought is relevant or helpful):
My traefik service is named Now an
This should result in a CNAME Of course you have to do the requisite IAM setup and other stuff mentioned in the docs, first. But I can confirm this is all working as expected. This is a bit of a workaround, but notice that no intelligence about Hope that helps you and/or googlers, even if not directly answering your question. |
@jimbocoder Nice workaround, had not thought about using the ExternalName. |
Our workaround was to create an empty Ingress
|
Related: traefik/traefik#4655. |
the workaround from @wizbit is not working and the one from @jimbocoder neither (Azure DNS) i think that Traefik is not suitable for external dns atm |
In Traefik 2.2, the following works, |
@sbellan : Cool, i have to test this.. |
Btw, I'm using the Kubernetes ingress provider and not the K8s CRD provider
with Traefik version 2.2.
…On Mon, Sep 21, 2020, 3:17 AM dirien ***@***.***> wrote:
@sbellan <https://github.com/sbellan> : Cool, i have to test this..
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1257 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AADIWURXPQWNJQTRAHEIBWDSG4R5FANCNFSM4JI25S5Q>
.
|
@sbellan do you have a gist or yaml you could share for both the external-dns config/helm values and the same for traefik? |
External DNS
Deploy Traefik RBAC and Core in traefik namespace.. Traefik RBAC
Traefik core
Sample Ingress
Certificate
|
@sbellan Your solution is about Kubernetes ingress, not about Traefik IngressRoute (as stated in the title). |
I've noticed using a NodePort service makes external-dns populate the DNS records with the external IPs of Traefik which we expose directly via HostPort. This wastes a random port but at least the setup works. It would be great if external-dns was able to expose the external IPs of nodes where pods are using HostPort. The solution in the tutorials with a headless service resulted in internal IPs being used which for external dns seems wrong. |
@arctica can you help to show us what you've done with nodeport? Thanks |
Has there been any updates to support IngressRoute CRD? |
Nothing fancy, In my traefik-values.yml (using the traefik helm chart) I have the following:
|
I built Switchboard to solve this issue: it is a Kubernetes operator which watches all |
@borchero this is amazing, thanks for solving this for my use case! |
I was able to use external-dns with AWS Route53 and EKS cluster with a Traefik 1.7 Ingress resource, but have been unable to achieve the same with the Traefik 2.0 IngressRoute resource. I have annotated my service to provide the hostname information.
Of course,
my.awesome.domain.com
is not my real domain, but is unimportant.Does external-dns require a Kubernetes Ingress? If not how might I get it to work with a new CRD type, such as the Traefik 2.0 IngressRoute?
Many thanks in advance!
The text was updated successfully, but these errors were encountered: