当前位置: > K8官网 >
K8kubernetes 1198 安置文档(四)操纵 NodeLocal DNS Cache
作者:admin 发表时间:2023-03-04 [浏览量:2]
摘要:如果本地没有 CoreDNS 实例,则具有最高 DNS QPS 的 Pod 可能必须到另一个节点进行解析,使用 NodeLocal DNSCache 后,拥有本地缓存将有助于改善延迟 将 DNS 查询从 UDP 升级到 TCP 将减少归因于丢弃的 UDP 数据包和 DNS 超时的尾部等待时间,通常长达 30 秒

  如果本地没有 CoreDNS 实例,则具有最高 DNS QPS 的 Pod 可能必须到另一个节点进行解析,使用 NodeLocal DNSCache 后,拥有本地缓存将有助于改善延迟

  将 DNS 查询从 UDP 升级到 TCP 将减少归因于丢弃的 UDP 数据包和 DNS 超时的尾部等待时间,通常长达 30 秒(3 次重试+ 10 秒超时)。

  创建了 Kubernetes 版本为 1.15 及以上的集群,且该集群中存在节点。

  如果 kube-proxy 组件使用的是 ipvs 模式的话我们还需要修改 kubelet 的 参数,将其指向 ,Daemonset 会在每个节点创建一个网卡来绑这个 IPK8官网,Pod 向本节点这个 IP 发 DNS 请求K8官网,缓存没有命中的时候才会再代理到上游集群 DNS 进行查询。 模式下 Pod 还是向原来的集群 DNS 请求,节点上有这个 IP 监听,会被本机拦截,再请求集群上游 DNS,所以不需要更改 参数。

  根据需求配置单个 Pod 的 dnsconfig 后重启。YAML 核心部分参考如下:

  当 Pod 没有使用带有多个 dots 的集群内部域名的情况下,建议将值设为2

  我们可以看到 已经变成 了,当然对于之前的历史 Pod 要想使用 则需要重建,当然如果要想去跟踪 DNS 的解析过程的话可以去通过抓包来观察。

Copyright 2017 k8凯发首页 All Rights Reserved