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_NXDOMAIN
和 server 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
我正在尝试配置 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_NXDOMAIN
和 server 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