追踪 Kubernetes 中的 DNS 查询
在过去的文章中,我们曾 追踪过 Kubernetes 中的网络数据包,这篇文章将追踪 Kubernetes 中的 DNS 查询。 让我们以在 Pod 中解析 Service 完全限定域名(FQDN) foo.bar.svc.cluster.local 为例。 在开始之前,先回顾下 DNS 的解析流程。 DNS 的解析流程 简化版的 DNS 处理流程: DNS 客户端(如浏览器、应用程序或者设备)发送域名 example.com 的查询请求。 DNS 解析器收到请求,查询本地缓存,如果本地有记录且未过期会返回本地的记录。 如果本地缓存未命中,DNS 解析器将从 DNS 根服务器开始向下查询,首先是顶级域名(Top Level Domain, TLD) DNS 服务器(这里是 .com),一直向下直到可以解析 example.com 的服务器。 能够解析 example.