首页 > 解决方案 > 没有 IP 地址的虚拟网络中容器组之间的网络连接

问题描述

想象以下场景:我有一个虚拟网络。其中有多个需要相互通信的容器组/实例。每个组都在一个单独的子网中。还有一个应用程序网关需要知道容器组,因为它将一些流量路由到它们。目前,通信通过 IP 地址进行。在部署期间,我告诉网关和一些容器组他们需要知道哪些 IP 地址。

我现在的问题是,每当容器组重新启动时(无论是有意还是无意),它都可能获得一个新的 IP 地址。但是一切仍然使​​用旧的IP地址(因为他们怎么知道它改变了)。

我找不到指定静态私有 IP 地址或主机名或某种我可以安全使用的 fqdn 的方法。私人 dns 也无法在这里工作,因为我无法更新它。所以名称仍会解析为旧的 IP 地址。

有谁知道虚拟网络中容器组之间的网络应该如何完成,当某些容器组重新启动或获得新的 IP 地址时,这很好吗?

我目前能想到的唯一可能的解决方案是,每当该组内的图像(重新)启动时,它也会更新 azure 中的私有 dns。但这并不是我真正认为的(好的)解决方案。图像不应依赖于特定的主机(er)。此外,我还需要部署某种也很糟糕的凭据。

标签: azureazure-container-instances

解决方案


目前,我认为没有适合您的解决方案。您知道,在 VNet 中创建容器组时不支持 DNS,并且您也无法决定在重新启动组时该组将使用什么 IP 地址。这就是它的设计方式。也许将来会更好。

如果容器实例是您唯一的选择,我建议您在容器组内创建所有容器,以便容器可以与其端口通信,而不是与私有 IP 地址通信。如果您不介意使用其他服务,AKS 可能是您更好的选择。


推荐阅读