You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: keps/sig-network/0030-nodelocal-dns-cache.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,8 +48,8 @@ This proposal aims to improve DNS performance by running a dns caching agent on
48
48
49
49
## Motivation
50
50
51
-
* With the current DNS architecture, it is possible that pods with the highest DNS QPS have to reach out to a different node, if there is no local kube-dns instance.
52
-
Having a local cache will help improve the latency in such scenarios.
51
+
* With the current DNS architecture, it is possible that pods with the highest DNS QPS have to reach out to a different node, if there is no local kube-dns instance.
52
+
Having a local cache will help improve the latency in such scenarios.
53
53
54
54
* Skipping iptables DNAT and connection tracking will help reduce [conntrack races](https://github.com/kubernetes/kubernetes/issues/56903) and avoid UDP DNS entries filling up conntrack table.
55
55
@@ -69,7 +69,7 @@ Having a local cache will help improve the latency in such scenarios.
This shows that there is interest in the wider Kubernetes community for a solution similar to the proposal here.
72
+
This shows that there is interest in the wider Kubernetes community for a solution similar to the proposal here.
73
73
74
74
75
75
### Goals
@@ -83,7 +83,7 @@ Being able to run a dns caching agent as a Daemonset and get pods to use the loc
83
83
84
84
## Proposal
85
85
86
-
A nodeLocal dns cache runs on all cluster nodes. This is managed as an add-on, runs as a Daemonset. All pods using clusterDNS will now talk to the nodeLocal cache, which will query kube-dns in case of cache misses in cluster's configured DNS suffix and for all reverse lookups(in-addr.arpa and ip6.arpa). User-configured stubDomains will be passed on to this local agent.
86
+
A nodeLocal dns cache runs on all cluster nodes. This is managed as an add-on, runs as a Daemonset. All pods using clusterDNS will now talk to the nodeLocal cache, which will query kube-dns in case of cache misses in cluster's configured DNS suffix and for all reverse lookups(in-addr.arpa and ip6.arpa). User-configured stubDomains will be passed on to this local agent.
87
87
The node's resolv.conf will be used by this local agent for all other cache misses. One benefit of doing the non-cluster lookups on the nodes from which they are happening, rather than the kube-dns instances, is better use of per-node DNS resources in cloud. For instance, in a 10-node cluster with 3 kube-dns instances, the 3 nodes running kube-dns will end up resolving all external hostnames and can exhaust QPS quota. Spreading the queries across the 10 nodes will help alleviate this.
88
88
89
89
#### Daemonset and Listen Interface for caching agent
@@ -169,9 +169,9 @@ CoreDNS will be the local cache agent in the first release, after considering th
169
169
170
170
It is possible to run any program as caching agent by modifying the daemonset and configmap spec. Publishing an image with Unbound DNS can be added as a follow up.
171
171
172
-
Based on the prototype/test results, these are the recommended defaults:
172
+
Based on the prototype/test results, these are the recommended defaults:
173
173
CPU request: 50m
174
-
Memory Limit : 25m
174
+
Memory Limit : 25m
175
175
176
176
CPU request can be dropped to a smaller value if QPS needs are lower.
177
177
@@ -216,7 +216,7 @@ This feature will be launched with Alpha support in the first release. Master ve
216
216
217
217
## Drawbacks [optional]
218
218
219
-
Additional resource consumption for the Daemonset might not be necessary for clusters with low DNS QPS needs.
219
+
Additional resource consumption for the Daemonset might not be necessary for clusters with low DNS QPS needs.
0 commit comments