我正在尝试配置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入口的A记录,但该IP无法从外部访问,正确的IP是位于nginx入口处的LoadBalancer。
一种解决方案是手动将LoadBalancer IP写入target
字段,但是手动写入该字段不是很好。
那么我做错了什么?如何使该工具使用LoadBalancer IP而不是Ingress IP?
实际上,最初的问题是由以下原因引起的:
https://github.com/kubernetes-sigs/external-dns/issues/992
升级外部dns有帮助,我现在可以正确使用CNAME方法:
external-dns.alpha.kubernetes.io/target: nginx.hostname.net