说明
kubenodes 监视 Kubernetes API 并为节点地址合成 A、AAAA 和 PTR 记录。
此插件需要……
- kubeapi 插件来创建与 Kubernetes API 的连接。(http://github.com/coredns/kubeapi)
- 对 Nodes API 的列表/监视权限。
此插件只能在每个服务器块中使用一次。
语法
kubenodes [ZONES...] {
external
ttl TTL
fallthrough [ZONES...]
}
external
将使用节点的外部地址构建记录。如果省略,kubenodes 将使用节点的内部地址构建记录。ttl
允许您为响应设置自定义 TTL。默认值为 5 秒。允许的最小 TTL 为 0 秒,最大 TTL 为 3600 秒。将 TTL 设置为 0 将阻止在缓存中记录。所有端点查询和无头服务查询都将导致 NXDOMAIN。fallthrough
[ZONES…] 如果对插件具有授权的区域中的记录的查询导致 NXDOMAIN,通常会返回该响应。但是,如果您指定此选项,则查询将传递给插件链,其中可以包括另一个处理此查询的插件。如果省略 [ZONES…],则坠通将发生在插件具有授权的所有区域。如果列出了特定区域(例如in-addr.arpa
和ip6.arpa
),则只有对这些区域的查询才会受到坠通的影响。
外部插件
要使用此插件,请使用添加到 plugin.cfg
的此插件编译 CoreDNS。如果 kubenode 使用与 kubernetes 相同的区域或 kubernetes 的超级区域,则它应该位于 kubernetes 插件之前。此插件还需要 kubeapi 插件,该插件应添加到 plugin.cfg
的末尾。
准备就绪
此插件在从 Kubernetes API 接收节点的完整列表后,将报告其已准备好使用 ready 插件。
示例
使用节点的内部地址在区域中回答正向和反向查找 node.cluster.local.
。对不匹配任何节点内部 IP 地址的反向查找进行坠通到下一个插件。
kubeapi
kubenodes node.cluster.local in-addr.arpa ip6.arpa {
fallthrough in-addr.arpa ip6.arpa
}
使用节点的外部地址在区域中回答正向和反向查找 example.
。对不匹配任何节点外部 IP 地址的反向查找进行坠通到下一个插件。
kubeapi
kubenodes example in-addr.arpa ip6.arpa {
external
fallthrough in-addr.arpa ip6.arpa
}