如何使用我的 DNS 服务器获取 Azure 容器实例?

How to get Azure Container Instances using my DNS server?

ACI 中,我们使用 Linux 支持虚拟网络的容器。我们有一些使用 Azure ServiceBus、Azure 存储帐户和 Azure CosmosDb 的 dockerized azure 函数应用程序 运行 - 它们都在虚拟网络中。

所有这些服务 运行 都很好,但是当我们尝试访问我们的 API 管理(也在虚拟网络内部)时,我们收到 502 - Bad Gateway 响应。 连接到实例并将我们的 DNS 服务器添加到 resolv.conf 后,一切运行正常 - 这让我得出结论,虚拟网络中提供的 DNS 未被使用尊重。

在虚拟网络中使用 ACI 时,我们需要考虑什么特别的事情吗?

经过一些调查,我们发现 Microsoft.ContainerInstance/containerGroups ARM-template 部署具有以下 属性: Microsoft.ContainerInstance/containerGroups/properties/dnsConfig/nameServers[]

其中,我们添加了我们的 DNS 服务器,它运行得非常棒!这是它的文档:https://docs.microsoft.com/en-us/azure/templates/microsoft.containerinstance/containergroups#DnsConfiguration

但是,此解决方案不是很干净,因为它需要您 double-maintain DNS 服务器(在 VNET 设置中以及每个容器实例中)。如果有什么方法可以解决这个问题,我们将不胜感激。