我希望从 kubernetes 中嗅探并提取所有 DNS 记录:clientIP、serverIP、date、QueryType 等...
我已经建立了一个 kuberenetes 服务。
它在线并且正在运行。在那里,我创建了几个容器化微服务,它们生成 DNS 查询(对外部地址的 HTTP 请求)。我怎么能看到闻呢?有没有办法用 DNS 记录提取日志?
最佳答案
鉴于您使用 CoreDNS 作为集群 DNS 服务,您可以将其配置为 log查询、错误等发送至 stdout
. CoreDNS 已可作为 kube-dns
的替代方案。由于 k8s 版本为 1.11,因此如果您运行的是版本 >1.11 的集群,则很有可能您正在使用 CoreDNS。
CoreDNS 服务通常™️ 位于 kube-system
命名空间,并且可以使用提供的 ConfigMap 重新配置。
关于如何将所有内容记录到 stdout
的示例,取自 README :
. {
...
log
...
}
重新配置 CoreDNS 后,您可以使用以下命令检查 Pod 日志:
kubectl logs -n kube-system <POD NAME>
关于kubernetes - 如何从 kubernetes 嗅探所有 DNS 记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57745715/