想象一下下面的场景:我有一个虚拟网络。其中包含多个容器组/实例,这些容器组/实例需要相互通信。每个组都在单独的子网中。还有一个应用程序网关,它需要知道容器组,因为它将一些流量路由到容器组。目前,通信通过ip地址工作。在部署期间,我告诉网关和一些容器组它们需要知道哪些ip地址。
我现在的问题是,每当容器组重新启动时(无论是有意还是无意),它都可能获得新的ip地址。但一切仍在使用旧的ip地址(因为他们如何知道它已更改)。
我发现没有办法指定一个静态的私有ip地址或主机名,或者某种我可以安全使用的fqdn。另外,私有dns不能在这里工作,因为我不能更新它。因此该名称仍将解析为旧的ip地址。
有没有人知道虚拟网络中容器组之间的网络应该如何建立,当一些容器组重新启动或获得新的ip地址时,哪种方法是可行的?
我目前能想到的唯一可能的解决方案是,每当这些组(Re)中的镜像启动时,它也会更新azure中的私有dns。但我并不认为这是一个(好的)解决方案。镜像不应该依赖于特定的主机(Er)。此外,我还需要部署某种凭证,这也是不好的。
发布于 2020-09-08 11:10:32
目前,我不认为有适合你的解决方案。您知道,在VNet中创建容器组时,不支持域名解析,您也无法决定重启组时将使用哪个IP地址。这就是它是如何设计的。也许将来会更好。
如果容器实例是您唯一的选择,我建议您创建容器组内的所有容器,以便容器可以与其端口通信,而不是内网IP地址。如果您不介意使用其他服务,AKS可能是您更好的选择。
https://stackoverflow.com/questions/63780008
复制相似问题