-
Notifications
You must be signed in to change notification settings - Fork 782
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
Updated to use CoreDNS #491
Conversation
The 'dns' addon has been changed to use CoreDns by default instead of kube-dns. This brings it in line with the CoreDNS being the recommend default with Kubernetes. Relates to: canonical#271
@richardcase thank you for the PR. Overall it looks great. We need however to take care of the MicroK8s upgrade case. When MicroK8s upgrades it bring together all the mainfests we package. With this PR the KubeDNS yaml manifest will be replaced with the CoreDNS one. As a result a Do you think you can give this a try? |
@ktsakalozos - ah yes, very good point. I'll make that change and test the scenario. Thanks for the review. |
Dont you think we should perform checks if kubedns or coredns is already present when enabling the dns? It could be that a careless user (like me) might run it twice causing havok in the cluster. Wdyt? |
Thats an interesting one @balchua. I think there are at least 2 scenarios we should consider. Scenario 1 - Calling On a fresh install of microk8s running But it does restart the kubelet. Do you think that Scenario 2 - Upgrading to coredns |
It must be allowed to run the same |
Thanks @ktsakalozos. With upgrading kube-dns to coredns on an existing cluster. Are you ok with someone having to do:
|
Yes, the user will continue using kubedns up until he does a This transition to coredns will come with the 1.15 release in a couple of weeks from now. |
After feedback from the first commit the following have been changed: * CoreDNS k8s artefcats have been added to there own yaml and not the existing dns.yaml * The existing dns yaml stays the same * When you enable the dns addon it will apply the new coredns.yaml * When you disable the dns addon it will look for running pods and decide whether to remove dns.yaml or coredns.yaml When doing an upgrade where the dns addon has been previously enabled it will show as disabled on `microk8s.status` and kube-dns will be running. To upgrade the user will be required to do the following: 1. `microk8s.disable dns` 2. `microk8s.enable dns` Relates to: canonical#271
@ktsakalozos - i made the suggested changes. Just to let you know if you have a cluster with the dns addon enabled (so kube-dns) and then you updrade the snap to the coredns version then:
If 1 isn't acceptable then i could introduce a 'legacy-dns' addon which would be enabled after the upgrade with the 'dns' addon being disabled. Then to upgrade the user would have to |
Thank you for the PR @richardcase. I am merging this so it will hit the edge channel within the day and reach stable along with v1.15 scheduled for early next week. |
The 'dns' addon has been changed to use CoreDNS by default instead of kube-dns. This brings it in line with CoreDNS being the default from Kubernetes v1.13:
https://kubernetes.io/docs/tasks/administer-cluster/coredns/
Relates to: #271