-
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
Support for Services/Ingresses with externally managed endpoints (e.g. type=NodePort/HostPort) #588
Comments
I could really use this. In order to support IPv6 on AWS I need to use an ALB, which is not supported as a type LoadBalancer. So I set the ALB up manually and expose ingress as a NodePort. It would be great if I could specify my ALB name in an annotation and have external-dns create the CNAME pointing from the ingress hostname to my ALB name. |
@whereisaaron I'm not sure about this, it seems to be pushing what ExternalDNS was designed to do a bit over. While I understand why you want to do this in general, I'm not sure if it should be ExternalDNS to do that (i.e. Route53 can be managed via CloudFormation on AWS). |
Thanks @Raffo. I agree it extends the scope of This is the missing link for us for k8s deployments. Everything else for ingress, like load balancers, ingress controller configuration, or TLS certificates, can be configured from k8s resources. Right now, after doing Yes CRDs would be the best, stable, long-term approach. I suggested annotations to be consistent with the other annotations I saw used for |
I see, but I'd still go with a CRD as it seems hacky to adopt annotations on Services/Ingresses for this particular use case. I don't have a strong opinion though, WDYT @linki @ideahitme @njuettner ? |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Rotten issues close after 30d of inactivity. Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
@fejta-bot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
* Update each index instead of just default * Fix linting issue * Split into two tests * Code review changes * Wrap error in search * Add integration tests Switch back to sequential updates. The test where gitutil.EnsureUpdated fails seems to hang when it happens in a goroutine for some reason. * Code review changes * Code review changes
Services and Ingresses with type=NodePort and sometimes type=HostPort are often externally managed endpoints providing NAT, reverse proxy, load balancers, CDNs, or combinations of these that eventually route to the Service/Ingress.
external-dns
can't be expected to work out the external IP addresses or domain name that will get traffic to the NodePort/HostPort service.I propose
external-dns
support annotations that let users supply the correct external IP address list or domain name that should be used at the target of the DNS record. E.g. specify either andtarget-hostname
ortarget-ips
annotation.e.g. create
myapp.example.com CNAME mycdn.domain.name
for Servicee.g. create
myapp.example.com A 10.20.30.40
andmyapp.example.com A 10.20.30.41
for Servicee.g. create
myapp.example.com CNAME mycdn.domain.name
for Ingresse.g. create
myapp.example.com CNAME mycdn.domain.name
andmyapp-alias.example.com CNAME mycdn.domain.name
for Ingresse.g. create
myapp.example.com A 10.20.30.40
myapp.example.com A 10.20.30.41
myapp-alias.example.com A 10.20.30.40
myapp-alias.example.com A 10.20.30.41
for Ingress
The text was updated successfully, but these errors were encountered: