updated /tasks/administer-cluster/nodelocaldns.md
This commit is contained in:
@@ -3,7 +3,7 @@ reviewers:
|
|||||||
- bowei
|
- bowei
|
||||||
- zihongz
|
- zihongz
|
||||||
- sftim
|
- sftim
|
||||||
title: Using NodeLocal DNSCache in Kubernetes clusters
|
title: Using NodeLocal DNSCache in Kubernetes Clusters
|
||||||
content_type: task
|
content_type: task
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -40,7 +40,7 @@ hostnames ("`cluster.local`" suffix by default).
|
|||||||
[conntrack races](https://github.com/kubernetes/kubernetes/issues/56903)
|
[conntrack races](https://github.com/kubernetes/kubernetes/issues/56903)
|
||||||
and avoid UDP DNS entries filling up conntrack table.
|
and avoid UDP DNS entries filling up conntrack table.
|
||||||
|
|
||||||
* Connections from local caching agent to kube-dns service can be upgraded to TCP.
|
* Connections from the local caching agent to kube-dns service can be upgraded to TCP.
|
||||||
TCP conntrack entries will be removed on connection close in contrast with
|
TCP conntrack entries will be removed on connection close in contrast with
|
||||||
UDP entries that have to timeout
|
UDP entries that have to timeout
|
||||||
([default](https://www.kernel.org/doc/Documentation/networking/nf_conntrack-sysctl.txt)
|
([default](https://www.kernel.org/doc/Documentation/networking/nf_conntrack-sysctl.txt)
|
||||||
@@ -52,7 +52,7 @@ hostnames ("`cluster.local`" suffix by default).
|
|||||||
|
|
||||||
* Metrics & visibility into DNS requests at a node level.
|
* Metrics & visibility into DNS requests at a node level.
|
||||||
|
|
||||||
* Negative caching can be re-enabled, thereby reducing number of queries to kube-dns service.
|
* Negative caching can be re-enabled, thereby reducing the number of queries for the kube-dns service.
|
||||||
|
|
||||||
## Architecture Diagram
|
## Architecture Diagram
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@ This is the path followed by DNS Queries after NodeLocal DNSCache is enabled:
|
|||||||
{{< note >}}
|
{{< note >}}
|
||||||
The local listen IP address for NodeLocal DNSCache can be any address that
|
The local listen IP address for NodeLocal DNSCache can be any address that
|
||||||
can be guaranteed to not collide with any existing IP in your cluster.
|
can be guaranteed to not collide with any existing IP in your cluster.
|
||||||
It's recommended to use an address with a local scope, per example,
|
It's recommended to use an address with a local scope, for example,
|
||||||
from the 'link-local' range '169.254.0.0/16' for IPv4 or from the
|
from the 'link-local' range '169.254.0.0/16' for IPv4 or from the
|
||||||
'Unique Local Address' range in IPv6 'fd00::/8'.
|
'Unique Local Address' range in IPv6 'fd00::/8'.
|
||||||
{{< /note >}}
|
{{< /note >}}
|
||||||
@@ -77,9 +77,9 @@ This feature can be enabled using the following steps:
|
|||||||
[`nodelocaldns.yaml`](https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/dns/nodelocaldns/nodelocaldns.yaml)
|
[`nodelocaldns.yaml`](https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/dns/nodelocaldns/nodelocaldns.yaml)
|
||||||
and save it as `nodelocaldns.yaml.`
|
and save it as `nodelocaldns.yaml.`
|
||||||
|
|
||||||
* If using IPv6, the CoreDNS configuration file need to enclose all the IPv6 addresses
|
* If using IPv6, the CoreDNS configuration file needs to enclose all the IPv6 addresses
|
||||||
into square brackets if used in 'IP:Port' format.
|
into square brackets if used in 'IP:Port' format.
|
||||||
If you are using the sample manifest from the previous point, this will require to modify
|
If you are using the sample manifest from the previous point, this will require you to modify
|
||||||
[the configuration line L70](https://github.com/kubernetes/kubernetes/blob/b2ecd1b3a3192fbbe2b9e348e095326f51dc43dd/cluster/addons/dns/nodelocaldns/nodelocaldns.yaml#L70)
|
[the configuration line L70](https://github.com/kubernetes/kubernetes/blob/b2ecd1b3a3192fbbe2b9e348e095326f51dc43dd/cluster/addons/dns/nodelocaldns/nodelocaldns.yaml#L70)
|
||||||
like this: "`health [__PILLAR__LOCAL__DNS__]:8080`"
|
like this: "`health [__PILLAR__LOCAL__DNS__]:8080`"
|
||||||
|
|
||||||
@@ -103,7 +103,7 @@ This feature can be enabled using the following steps:
|
|||||||
`__PILLAR__CLUSTER__DNS__` and `__PILLAR__UPSTREAM__SERVERS__` will be populated by
|
`__PILLAR__CLUSTER__DNS__` and `__PILLAR__UPSTREAM__SERVERS__` will be populated by
|
||||||
the `node-local-dns` pods.
|
the `node-local-dns` pods.
|
||||||
In this mode, the `node-local-dns` pods listen on both the kube-dns service IP
|
In this mode, the `node-local-dns` pods listen on both the kube-dns service IP
|
||||||
as well as `<node-local-address>`, so pods can lookup DNS records using either IP address.
|
as well as `<node-local-address>`, so pods can look up DNS records using either IP address.
|
||||||
|
|
||||||
* If kube-proxy is running in IPVS mode:
|
* If kube-proxy is running in IPVS mode:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user