cluster-addons icon indicating copy to clipboard operation
cluster-addons copied to clipboard

Implement Node Local DNS operator

Open stealthybox opened this issue 5 years ago • 10 comments

@justinsb is working on a self-contained using the previoulsy vetted CoreDNS DaemonSet.

The node intercept and eviction-fallback mechanisms are not completely general, but the immediate goal is to ship variants of the addon that are useful for cluster-owners on AWS where DNS latency can be very problematic. Similar issues are faced at scale in other environments. (TODO: link other issues)

Creating an operator for managing this and packaging it with kustomize for shipping the different variants should allow this to compose with the addon-installer library for clients like kops and kubeadm (https://github.com/kubernetes/kubeadm/issues/1220).

/assign @justinsb /kind feature /sig cluster-lifecycle /sig network

stealthybox avatar Nov 13 '19 18:11 stealthybox

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

fejta-bot avatar Mar 16 '20 02:03 fejta-bot

/lifecycle frozen

neolit123 avatar Mar 16 '20 02:03 neolit123

Any update on this? Is there any workaround to run NodeLocal DNSCache on kubeadm managed clusters?

dhawal55 avatar Jun 02 '20 21:06 dhawal55

@dhawal55 you can follow the instructions at https://kubernetes.io/docs/tasks/administer-cluster/nodelocaldns/#configuration

praseodym avatar Jun 03 '20 18:06 praseodym

@praseodym Do you know if kubeadm supports this?

dhawal55 avatar Jun 03 '20 20:06 dhawal55

@dhawal55 Those instructions work for clusters deployed with kubeadm. Kubeadm doesn’t yet support deploying NodeLocal DNSCache by itself: that is what this issue is about.

praseodym avatar Jun 03 '20 20:06 praseodym

@praseodym If I understand this correctly, in order for client pods to use local DNSCache, the clusterDNS flag for kubelet needs to be updated to point to the local ip first.

Can you help me understand what causes client pods to use local ip for DNS?

dhawal55 avatar Jun 04 '20 07:06 dhawal55

@dhawal55 According to the docs, that’s only if using kube-proxy in IPVS mode. Also, if you have further questions about using this feature https://discuss.kubernetes.io/ is probably a better place to ask those.

praseodym avatar Jun 04 '20 16:06 praseodym

@praseodym Ah, I missed the part where it says it's only needed for kube-proxy in IPVS mode. Thank you for your help.

dhawal55 avatar Jun 04 '20 23:06 dhawal55

Hello @dhawal55. I am working on this issue as part of the Google Summer of Code 2020

somtochiama avatar Jun 05 '20 07:06 somtochiama