我们在 Azure 容器实例上运行测试。 我的问题很简单。有没有办法为容器分配公共(public)静态 IP 地址? 我们的测试正在运行并且需要连接到某些节点,但是如果我不知道公共(public)地址是什么,如何允许它们连接?
如果没有,还有什么选择?
最佳答案
所以真正的问题是为什么您首先需要一个静态 IP 地址。 ACI 已具有您可以设置的 FQDN。例如无论你选择什么.eastus.azurecontainer.io
此外,如果您从 github 操作触发构建/部署,除非您删除了 ACI 并且构建/部署重新创建了它,否则它仍将分配有之前的公共(public) IP。
但是,在容器主机维护期间,IP地址可能会在您不知情的情况下发生变化。我想象容器将迁移到另一个容器主机虚拟机,如果发生这种情况,则需要新的 IP 地址。
因此,如果您在 Azure Dns 区域中将域名设置为 A 记录 IP 地址,则会出现问题。它会破坏您的网站,直到您纠正它。
那么如何解决这个又快又脏的问题呢?在容器中包含 azure cli 并编写 shell 脚本来检查 Azure Dns 区域的 A 记录 (az network dns record-set a) 和容器的 IP 地址 (az container show)。如果不同,则将 A 记录设置为新记录。当然,这假设您已经创建了一个服务主体(包括 clientId 和 clientSecret 和tenantId)。
关于azure - Azure 容器实例的静态 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63287553/