-
Notifications
You must be signed in to change notification settings - Fork 4.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
Use ExternalDNS as drop-in for dns-controller #11859
Use ExternalDNS as drop-in for dns-controller #11859
Conversation
afbade3
to
95be3f8
Compare
The external-dns docs/faq.md should be updated to fix "Compatibility mode with Kops DNS Controller is planned to be added in the future." Currently dns-controller has to watch all the pods in the cluster in order to find the annotations. It's unfortunate we're making external-dns do the same. Could we migrate to using labels instead? I think we should deprecate dns-controller's functionality for services and ingresses, in favor of having people use external-dns's API directly. |
I think it would be good to have a discussion on how we can use external-dns without compatibility mode, and what the future role of dns-controller may be (e.g it could become a gossip-only thing). But alone, this PR will make it easier for us to support other DNS providers, and for other cloud providers to not have to implement DNS provider logic in dns-controller. |
kOps relies on DNS to NodePort pods, which external-dns doesn't support without compatibility mode. I think it would be better for external-dns to implement a native mechanism for NodePort pods using labels than for it to implement a compatibility mode for the dns-controller API. |
I am not sure replacing annotations with labels is the right thing to do. But one could add a label selector to the pod source to limit what it watches. That way we could feed it a common label we set on the CP pods (by default) for example. |
36fa560
to
cb6bd17
Compare
cb6bd17
to
cd8b671
Compare
cd8b671
to
7f3ef0d
Compare
7f3ef0d
to
a491021
Compare
/retest |
4 similar comments
/retest |
/retest |
/retest |
/retest |
/test pull-kops-e2e-cni-amazonvpc |
7506f07
to
6abae67
Compare
/cc @rifelpet |
6abae67
to
67b1ace
Compare
Co-authored-by: Peter Rifel <rifelpet@users.noreply.github.com>
6fe233f
to
b3982e1
Compare
/retest |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: rifelpet The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Can you add a prow job for this? It should be pretty simple |
That's absolutely on my agenda 😄 |
All the changes needed should now be in externalDNS. The remaining work is mainly being able to define DNS provider in the cluster spec.
This will probably never work for gossip clusters though.