-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Enable CoreDNS as a DNS plugin for Kubernetes #427
Comments
@kubernetes/sig-network-feature-requests |
What is the argument behind this switch? |
Hi Kristian, Here's a little background. CoreDNS is another CNCF project and is the successor to SkyDNS, which kube-dns is based on. It is a flexible, extensible authoritative DNS server and we have built a direct integration to the Kubernetes API. It can serve as cluster DNS, complying with the dns spec. We started discussions with @thockin, @matchstick and @bowei last year around KubeCon and they are open to it in principle, but of course it needs to be proven to be the right choice. As for reasons to switch, CoreDNS has fewer moving parts than kube-dns, since it is a single executable and single process. It is written in Go so it is memory-safe (kube-dns includes dnsmasq which is not). It supports a number of use cases that kube-dns doesn't. As a general-purpose authoritative DNS server it has a lot of functionality that kube-dns couldn't reasonably be expected to add. You may also want to check out the intro or coredns.io. There is also a webinar I did for CNCF a couple months back. |
I would expect a proposal for this. |
Ok, will do. I assume that means based on https://github.com/kubernetes/community/blob/master/contributors/design-proposals/Design_Proposal_TEMPLATE.md |
Ok, here is the proposal. Sorry for all those commits referencing this. |
Not sure this was meant to close /reopen |
@idvoretskyi the current one does not enable it by default. It just declares it a GA feature that can be enabled. Enabling it by default (on new installs and on upgrades) will come later. |
@johnbelamaric it's clear, thanks. |
I'm not sure two feature issues are needed for that though. If CoreDNS is GA in v1.11 it's up to every deployment tool (kubeadm, kops, GKE, AKS, EKS, etc.) to enable it by default in their own pace. You can't dictate a default for an option for all of the installer options, as some of them are unreachable to the OSS world. I'd go with just this one. If you want to track the enabling of CoreDNS as a feature for a specific deployment like GKE, then you might optionally do that in a separate issue. Does that make sense to you? |
@luxas I see your point. However, don't we need to provide a recommendation at some point as to which of the options to use? What if we want to deprecate This "replace a component" is new territory, so we're trying to figure out the best process. |
When CoreDNS is GA, I'd expect it to be the default for new clusters as it's the new thing. |
@luxas I expect there will be additional features (if there aren't already) in which you choose between several GA options that provide similar functionality. For example, whether to use iptables or ipvs for kube-proxy. I think we need a model for managing those situations. |
@johnbelamaric I am the CI Signal lead for 1.11 and also work on Conformance testing program for K8s. I see this feature is going to Stable in 1.11. |
I would expect the existing DNS conformance tests to cover this. I
would not expect use of coredns to be required to be conformant.
All that said - are our dns conformance tests sufficient in scope to
cover the dns minimum requirements?
|
@AishSundar : CoreDNS is replacing kube-dns. As such we ensured already that CoreDNS is conform to existing DNS Conformance test. As such, CoreDNS has already a representation in Conformance suite (the same as kube-dns, the feature it replaces). We also ensured that CoreDNS is compliant to all DNS test running in e2e. that is why we have some e2e test changes. But those are not part of the conformance suite. Adapt existing test to CoreDNS, verifying the configuration by Configmap change : kubernetes/kubernetes#63265 Create a new test for DNS, by adding a specific DNS related test on scalability (asked by sig-networking) : kubernetes/kubernetes#63820 Extends all DNS tests for IPv6 use case : kubernetes/kubernetes#59894 |
@smarterclayton CoreDNS is conformant in the default configuration. |
Thanks
…On Thu, May 24, 2018 at 9:04 AM, John Belamaric ***@***.***> wrote:
@smarterclayton <https://github.com/smarterclayton> CoreDNS is conformant
in the default configuration.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#427 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABG_p5HuTwCmZPQTctXv2FUS15nuzKC6ks5t1q_bgaJpZM4PU9YV>
.
|
Thanks @fturib for the clarification and PR pointers here |
@johnbelamaric -- |
@justaugustus I updated it to "Draft". We have several PRs in various states of merged and under review for the docs. There is already a link in there to the tracking issue. |
@johnbelamaric thanks for the update! |
Closing this as the feature is GA in 1.11. Please feel free to reopen if there is still a need to track this. |
Feature Description
The text was updated successfully, but these errors were encountered: