Skip to content
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

deprecate and remove kube-dns support in kubeadm #1943

Closed
2 of 4 tasks
neolit123 opened this issue Nov 27, 2019 · 26 comments · Fixed by kubernetes/kubernetes#99646
Closed
2 of 4 tasks

deprecate and remove kube-dns support in kubeadm #1943

neolit123 opened this issue Nov 27, 2019 · 26 comments · Fixed by kubernetes/kubernetes#99646
Assignees
Labels
kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. kind/deprecation Categorizes issue or PR as related to a feature/enhancement marked for deprecation. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. sig/network Categorizes an issue or PR as relevant to SIG Network.
Milestone

Comments

@neolit123
Copy link
Member

neolit123 commented Nov 27, 2019

this is a proposal to deprecate the kube-dns deployment with the release of 1.18 and remove the code for it in 1.21.

CoreDNS has been the default since 1.11 (if i recall correctly) and the kube-dns support is something we should decouple from kubeadm.

We haven't updated the kube-dns version in kubeadm since 2018.

ideally and long term, the users should be able to skip the DNS server deployment completely and install a custom one to their liking, either manually or via a "addon installer" of sorts.


actions for 1.18:


actions for 1.21:


UPDATE
sent notification to k-dev:
https://groups.google.com/d/msg/kubernetes-dev/m8suvuNBtcU/BglNo6tUAAAJ

@neolit123 neolit123 added kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. labels Nov 27, 2019
@neolit123 neolit123 added this to the v1.18 milestone Nov 27, 2019
@neolit123 neolit123 added the help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. label Nov 29, 2019
@SataQiu
Copy link
Member

SataQiu commented Nov 29, 2019

@neolit123
Copy link
Member Author

i think that is a good location, yes.
still needs discussion if we want to deprecate it even.

@yastij
Copy link
Member

yastij commented Dec 3, 2019

@neolit123 - if kube-dns is being deprecated, we should do it too. But If @kubernetes/sig-network-misc didn't I think we should wait

@k8s-ci-robot k8s-ci-robot added the sig/network Categorizes an issue or PR as relevant to SIG Network. label Dec 3, 2019
@chrisohaver
Copy link

/cc @bowei

@neolit123
Copy link
Member Author

technically, kubeadm is an opinionated deployer that can decide what addons to pick as their best practice cluster.

at the same time kubeadm allows skipping the DNS addon, and allowing the user to pick their own.
i haven't seen kube-dns kubeadm users since coredns went GA, so if we are keeping kube-dns it feels to me this needs a better argument.

@neolit123
Copy link
Member Author

@rajansandeep @chrisohaver i think we can proceed with this PR for preserving the replica count kubernetes/kubernetes#85837 but we might need the refactor of not redeploying the CoreDNS/kube-dns completely from scratch, instead:

  • fetch existing deployment
  • change image tags if needed
  • migrate corefile

also me and @rosti discussed today that before that we should probably file the PR to deprecate kube-dns in 1.18 and stop maintaining it.

@rosti
Copy link

rosti commented Dec 9, 2019

Indeed. It's becoming rather tricky to maintain a couple of possible DNS addons. Especially when one of them is not getting as much user attention than the other.

@SataQiu
Copy link
Member

SataQiu commented Dec 17, 2019

So shall we file a PR to deprecate kube-dns now?

@neolit123
Copy link
Member Author

yes, it was decided to file the deprecation but also gather feedback if someone is still using it with kubeadm.

@neolit123
Copy link
Member Author

note: we haven't updated the kube-dns version in kubeadm since 1.14.13 (20 Sept, 2018).
latest version is 1.15.8 from 21 Nov, 2019.

https://github.com/kubernetes/kubernetes/blob/master/cmd/kubeadm/app/constants/constants.go
https://console.cloud.google.com/gcr/images/google-containers/GLOBAL/k8s-dns-kube-dns?gcrImageListsize=200

@neolit123
Copy link
Member Author

neolit123 commented Jan 24, 2020

sent notification to k-dev:
https://groups.google.com/d/msg/kubernetes-dev/m8suvuNBtcU/BglNo6tUAAAJ

LGTM/approved the deprecation PR:
kubernetes/kubernetes#86574

@neolit123 neolit123 added the kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API label Jan 24, 2020
@neolit123 neolit123 modified the milestones: v1.18, Next Jan 24, 2020
@sftim
Copy link

sftim commented Jan 24, 2020

As soon as this becomes deprecated, documentation that mentions the application called kube-dns should change to make that detail clear. AIUI kube-dns the application will remain even past the deprecation of kube-dns the addon.

IMO: it's enough to open an issue in k/website and leave the actual rewording and localization and localization to SIG Docs.

@neolit123 neolit123 added the kind/deprecation Categorizes issue or PR as related to a feature/enhancement marked for deprecation. label Jan 24, 2020
@BenTheElder
Copy link
Member

BenTheElder commented Jan 25, 2020 via email

@BenTheElder
Copy link
Member

BenTheElder commented Jan 25, 2020 via email

@neolit123
Copy link
Member Author

originally SIG Network wanted to add the CoreDNS service as kube-dns to provide a smoother transition. https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#introduction

The service is named "kube-dns" and changing that would probably break
various things

true.

@fabriziopandini
Copy link
Member

+1 for adding a core DNS service + deprecate the kube-DNS one, but this is really up to SIG-network

@BenTheElder
Copy link
Member

I wonder if we can update kubectl cluster-info to say something like DNS is running at ... and prefer some annotated service entry or something like that.

doesn't seem super important, but I could certainly see users being confused about "KubeDNS is running at" when we're not using kubedns...

@BenTheElder
Copy link
Member

Has #1943 (comment) been raised to SIG Network?

@neolit123
Copy link
Member Author

neolit123 commented Apr 27, 2020

cc @johnbelamaric @chrisohaver
do you have comments about:

doesn't seem super important, but I could certainly see users being confused about "KubeDNS is running at" when we're not using kubedns...

@chrisohaver
Copy link

I have been referring to the cluster service discovery DNS service in Kubernetes as "Cluster DNS", to distinguish it from other DNS services in the K8s equation... (Upstream DNS, Node Local Caching DNS).

@johnbelamaric
Copy link
Member

I don't think we should change the service name, as pointed out it will break stuff (which is why we didn't do it before). The "KubeDNS" I believe comes from an annotation, that could be change, I would think. It could vary based on which DNS provider is installed. Or it could just read "Cluster DNS" as Chris suggests.

@xlgao-zju
Copy link

I'd like to help with this.

@neolit123 neolit123 removed the help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. label Sep 14, 2020
@fejta-bot
Copy link

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

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 13, 2020
@fabriziopandini
Copy link
Member

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 14, 2020
@rajansandeep
Copy link

@neolit123, I can handle the actions for 1.21

actions for 1.21:

 - clean kube-dns from the kubeadm codebase

 - clean any mentions of kube-dns + kubeadm in the k/website docs

/assign

@neolit123
Copy link
Member Author

thank you @rajansandeep !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. kind/deprecation Categorizes issue or PR as related to a feature/enhancement marked for deprecation. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. sig/network Categorizes an issue or PR as relevant to SIG Network.
Projects
None yet
Development

Successfully merging a pull request may close this issue.