Owners have discussed this multiple times, but I am not finding an issue for this. I did find the issue in the external-dns project https://github.com/kubernetes-incubator/external-dns/issues/221.
The thought is that we would like to rely on external dns, so that our dns is far more flexible. Add a cloud provider and we could have dns support for it before we even have the provider, for instance. You want you dns in GCE and you cluster in aws, we can do that theoretically.
We have two components that manage dns for our system.
@gambol99 @blakebarnett @sethpollack @geojaz @robinpercy @justinsb et al
What am I missing here?
Seems like it would make sense to just replace dns-controller with it first, then separately add support to protokube to use it? Have all the feature gaps between this and dns-controller been filled?
@blakebarnett someone needs to build a feature list for both and compare them ;) I do not know which features if any we are missing
The issue you linked in here does a pretty good job :)
And https://github.com/kubernetes/kops/blob/master/protokube/README.md has a section about dns and protokube
There are still a couple of comments on the linked issue that need to be resolved / documented.
support kops' internal/external annotations, find out what they do first
I have an open PR for multiple targets https://github.com/kubernetes-incubator/external-dns/pull/326
And I already have the code for alias records, node source, pod source, and dns-contoller backwards compatibility, they just depend on each other so I need to open the PR's one at a time.
As for internal/external annotations @justinsb do we need that support? Or can that be limited to the backwards compatibility?
Also caching would be nice, but not sure if thats a blocker.
@sethpollack Kops compatibility is the main part of our next milestone. Sorry for the delay in reviewing the PR. We will look at at whenever there's time.
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Prevent issues from auto-closing with an /lifecycle frozen comment.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or @fejta.
/lifecycle stale
/remove-lifecycle stale
So does this mean this won't get done?
The bot stuff?
If Kops moves to external-dns for internal stuff too (I think that would be great) but in my opinion there would need to be a way to support split horizon. Currently this is done by running two instances of external-dns on a cluster. Using --annotation-filter (I think?) you can have the public external-dns only add public records for a service that should be public and a catch-all external-dns that is limited to private zones.
I think this could be implemented by external-dns that comes with Kops in the future following the dns: private directive (where private could be private, public and maybe auto (equivalent to no --aws-zone-type flag in external-dns)
Then a further external-dns instance can be started manually outside of Kops for public / other zones.
Most of this is thinking out loud but may be worth adding to the to do. Just putting external-dns on a Kops cluster that picks up ALL hostnames by default and puts them in an auto-detected zone will break a lot of peoples setups.
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale
Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten
/remove-lifecycle rotten
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale
Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten
Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close
@fejta-bot: Closing this issue.
In response to this:
Rotten issues close after 30d of inactivity.
Reopen the issue with/reopen.
Mark the issue as fresh with/remove-lifecycle rotten.Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close
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.
Most helpful comment