如何设置 DNS,以便每次负载均衡器 IP 改变时不需要更改 PTR?

如何设置 DNS,以便每次负载均衡器 IP 改变时不需要更改 PTR?

我应该如何设置 DNS,以便每次 k8s 负载均衡器 IP 发生变化时,我不必为不同的域更改 20 个 A 记录?

通常我会设置一个名为“k8s.domain.com”的 A 记录,指向 k8s 集群。然后,我会对所有指向“k8s.domain.com”的子域使用 CNAMES

但是有些域需要指向 kubernetes 集群,并且您不能对根域使用 CNAME。

有没有办法设置 nginx 入口或代理,使得 A 记录指向静态固定 IP,然后使用负载均衡器 IP 配置该 IP,这样如果重新部署负载均衡器并且负载均衡器 IP 发生变化,我只需要在一处更改 IP。

我知道这只是缺乏最佳实践知识。请赐教。

答案1

如果您使用不允许 CNAME 的“二级域名” example.org,很遗憾,您只能使用 A 记录,如果 IP 地址发生变化,则需要更新该 A 记录。没有办法解决这个问题。

但是,如果您自己托管 DNS 服务器或者您的 DNS 托管商具有 API,则可以自动执行 DNS 更新,因此该问题归结为编写脚本并在 IP 发生变化时运行它。

您提到的任何解决方案可以是否可行,取决于所用服务。负载平衡器或代理的问题在于,您可能会丢失原始客户端 IP 地址(而是会记录代理的 IP 地址)。如果您希望以这种方式放置的所有服务器软件都支持 haproxy 的 PROXY 协议,那么您可能确实拥有一些固定 IP 地址,并在其上以 TCP 模式运行 haproxy 以解决此问题。

相关内容