使用本地 DNS 服务器的 Service Fabric VM 无法解析

Service Fabric VM using on-premises DNS servers not resolving

我在 Azure 中有一个 Service Fabric 实例 运行,带有多个虚拟机(SFVM1SFVM2 等)。 Service Fabric 连接到 VNet,该 VNet 具有连接到本地网络的虚拟网络网关。还有本地 DNS 服务器(在 VNet 中列出)处理将名称转换为本地服务器。

作为概念证明,我在同一个 VNet 上有一个独立的 Azure VM (POCVM),并且可以成功 ping "on-prem server in question" (OnPremServer) 按名称解析它的 IP 地址,我得到回复。

但是,我发现在 Service Fabric 完成初始化后,我远程进入 SFVM1,然后尝试 ping OnPremServer 按名称,名称不解析。奇怪的是我可以 ping OnPremServer 的 IP 地址并得到回复。对我来说,这似乎是虚拟机上的 DNS 设置出了问题,在执行 ipconfig \all 之后,我发现 VNet 中列出的自定义 DNS 条目未在此处列为 DNS 服务器。

SFVM1,我也可以成功 ping 本地 DNS 服务器的 IP 地址。我已尝试 disabling/reenabling Service Fabric DNS 服务但无济于事,并且在网上搜索线索时运气不佳。缺少在 VM 启动时设置 DNS 服务器的脚本 ,我不知道还能做什么。

Service Fabric VM 不应该从 VNet 中获取自定义 DNS 条目吗?如果是这样,知道出了什么问题吗?如果不是,那么正确的方法是什么?

非常感谢!

在对此进行更多旋转之后,我偶然发现了一个解决方案。显然,对 VNet DNS 设置所做的更改不一定会传播到 Service Fabric VM,即使它们重新启动也是如此。在我不小心完全破坏了其中一个 Service Fabric VM 的网络配置之后,我取消分配并重新分配了虚拟机规模集……然后 DNS 设置像魔术一样正确地应用于 VM。很高兴困境已经过去