Cloudflare 外部 DNS 和 CNAME 与 A 记录

Cloudflare External DNS and CNAME vs A records

我正在尝试配置 Kubernetes 工具以自动配置 Cloudflare 外部 DNS。

有两个配置选项:

external-dns.alpha.kubernetes.io/hostname: nginx.hostname.net
external-dns.alpha.kubernetes.io/target: nginx.hostname.net

填写 target 会创建 CNAME 记录,将其留空会创建 A 记录。我在使用 CNAME 时遇到过 DNS_PROBE_FINISHED_NXDOMAINserver IP address could not be found 等消息的糟糕经历,所以我想使用 A 记录。

然而,当它被遗漏时,该工具会生成一个带有 nginx-ingress 的 A 记录,但是该 IP 无法从外部世界访问,正确的 IP 是位于前面的 LoadBalancer 之一nginx-ingress.

一种解决方案是手动将 LoadBalancer IP 写入 target 字段,但是手动将其写入那里并不是很好。

那我做错了什么?如何让工具使用 LoadBalancer IP 而不是 Ingress IP?

实际上最初的问题是由以下原因引起的:

https://github.com/kubernetes-sigs/external-dns/issues/992

升级 external-dns 有帮助,我现在可以正确使用 CNAME 方法:

external-dns.alpha.kubernetes.io/target: nginx.hostname.net