从领事 DNS 查找中间删除 'node' 子域

Removing 'node' sub-domain from middle of consul DNS lookup

我有一个相当短暂的环境,机器 运行 consul agent 在启动时将自己注册为节点。

由于有足够的 Consul 服务器,我想在内部使用 Consul DNS 来定位机器。

问题是机器被命名为 somevm.example.com 而不是 somevm.node.consul

我可以在 consul 配置文件中更改域,但仍然在查找中间留下 'node' 子域:somevm.node.example.com,这是不正确的。

我可以说服 consul 改变这个吗?或者我可以在某些 DNS server/Proxy 中动态更改它(直接子、动态 CNAME 等),我不可避免地必须 运行 在端口 53 而不是 8600 上解析。

我刚刚调查了一段时间,目前无法仅使用 Consul 删除 node 部分,但是您可以 运行 coredns on port 53, proxying and rewriting requests to and from Consul by leveraging the rewrite 插件。

重写插件文档包含有关重写部分 dns 查询和响应的详细示例,并包含特定于 Consul 的示例。

希望对您有所帮助。