当前位置: 首页 > 知识库问答 >
问题:

如何列出所有kubernetes DNS记录?

从渊
2023-03-14

我在(裸机)集群中运行kube dns。我知道这是可行的,因为我可以将服务插入到我创建的名称中,并获得主机条目:

$ host elk-service-headless.default.svc.cluster.local
elk-service-headless.default.svc.cluster.local has address 10.42.0.151
elk-service-headless.default.svc.cluster.local has address 10.42.0.152
elk-service-headless.default.svc.cluster.local has address 10.42.0.153
(...)

我不知道怎么做的是列出kube dns持有的所有记录。我尝试了一些标准的DNS技巧,比如dig和host-l,但都没有成功。但无论如何,库伯内特斯自己一定有办法做到这一点。我试着检查配置地图,但没有找到我要找的东西。

共有2个答案

夏青青
2023-03-14

如果您使用的是kube dns,它将使用dnsmaq缓存dns记录,您可以通过此答案转储记录。

如果您使用的是coredns,它会嵌入一个缓存插件来缓存DNS记录,我发现没有办法在这个缓存插件中获取数据。但我发现coredns可以使用etcd作为后端,因此DNS记录可以缓存在etcd中,但这需要使用此coredns文件重新配置您的coredns:

.:53 {
    etcd {
        path /skydns
        endpoint <etcd_endpoint>
        upstream /etc/resolv.conf
    }
    ...
}
范文昌
2023-03-14

此帖子将帮助您在运行kube DNS的群集上查找K8s服务的内部DNS记录:

  1. 查找库贝-dns服务的ClusterIP:

kubectl-n kube系统获取svc kube dns

现在我们知道K8s内部DNS解析器IP172.20.0.10

kubectl-n fe get ep

kubectl-n fe exec-it fe-app-575fdf6cb6-lt7t6-sh

 类似资料:
  • 原关闭原因未解决 有没有办法列出一个域的所有DNS记录? 我知道诸如挖掘和查找之类的事情,但它们仅限于此。例如,如果我有一个子域a记录作为 那么除非我特别要求,例如。 我看不见它。 是否有任何方法(除了通过转到DNS管理器查看记录外)可以准确查看所有DNS记录?

  • 我想列出所有/任何DNS记录,包括DANE TLSA。 具有 我得到了所有的记录,包括DNSSEC等,但没有关于DANE。为什么啊? 具有 我有丹麦TLSA的记录。 我读过一个问题,有人想查询所有子域,我如何列出所有DNS记录?我知道这只有在区域转移的情况下才能实现。 但是_443_tcp不是真正的子域,是吗?我以为这只是一个SRV记录。那么,我如何查询任何东西,包括DANE TLSA?

  • 问题内容: Python中是否有办法获取所有已定义记录器的列表? 我的意思是,是否存在某种东西,例如哪个会返回对象列表? 我搜索了python.logging文档,但找不到这种方法。 先感谢您。 问题答案: 记录器由实例保存在层次结构中。您可以在根记录器上查询 它所知道的记录器。 调用可确保将其保存的所有占位符记录器添加到列表中后,都将被完全初始化。

  • 问题内容: 如何在Python中列出目录的所有文件并将其添加到中list? 问题答案: 使用Python 2和3获取文件列表 os.listdir() 如何获取当前目录中的所有文件(和目录)(Python 3) 以下是在Python 3中使用 和函数仅检索当前目录中文件的简单方法。进一步的探索将演示如何返回目录中的文件夹,但你不会在子目录中拥有该文件,因此可以使用步行-稍后讨论)。 glob 我发

  • 问题内容: 我想知道是否可以使用JNI api列出当前JVM中的所有当前可用实例(作为jobject)。 我的意思示例: 我的任务是在它们中搜索实现特定interface()的对象,我必须动态且全局地执行此操作,而无需类名 问题答案: JVMTI将提供帮助。 调用以标记所有必需的对象; 调用将所有标记的对象复制到数组。 这是一个例子。注意,它也可以是接口。