cluster-addons
cluster-addons copied to clipboard
Implement Node Local DNS operator
@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
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
/lifecycle frozen
Any update on this? Is there any workaround to run NodeLocal DNSCache on kubeadm managed clusters?
@dhawal55 you can follow the instructions at https://kubernetes.io/docs/tasks/administer-cluster/nodelocaldns/#configuration
@praseodym Do you know if kubeadm supports this?
@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 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 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 Ah, I missed the part where it says it's only needed for kube-proxy in IPVS mode. Thank you for your help.
Hello @dhawal55. I am working on this issue as part of the Google Summer of Code 2020