无法访问部署到VN的ACI restful端点



我用这样的命令将docker映像部署到ACR,然后部署到ACI:

az container create 
--resource-group myrg
--name myamazingacr 
--image myamazingacr.azurecr.io/test3:v1 
--cpu 1 
--memory 1 
--vnet myrg-vnet 
--vnet-address-prefix 10.0.0.0/16 
--subnet default 
--subnet-address-prefix 10.0.0.0/24 
--registry-login-server myamazingacr.azurecr.io 
--registry-username xxx
--registry-password xxx
--ports 80

这一切都正常工作,ACI的IP是10.0.0.5,没有FQDN,因为它是一个VN。我认为这是有道理的。

当我在Azure之外运行映像时(即在我创建映像的本地机器上(,我可以成功访问这样的端点:

http://127.0.0.1/plot
http://127.0.0.1/predict_petal_length?petal_width=3

[127.0.0.1]表示我在本地机器上运行映像。

然而,这不起作用:

http://10.0.0.5/plot
http://10.0.0.5/predict_petal_length?petal_width=3

我得到:

This site can’t be reached10.0.0.5 took too long to respond.

请问可能出了什么问题?

PS:

也许与此有关:

https://learn.microsoft.com/en-us/answers/questions/299493/azure-container-instance-does-not-resolve-name-wit.html

我不得不说,我觉得Azure的工作真的很令人沮丧。似乎什么都不管用。从Azure ML到ACI开始。。。

PPS:

这就是我们的IT部门所说的——tbh我不完全理解。。。

•不支持私有端点,因此我们需要在资源组中创建一个vnet,将其与当前dev-vnet对等,我们应该很好•我们基本上需要知道如何使用不同资源组中现有vnet中的网络创建ACR。我正在努力寻找正确的方法。

问题的可能原因是您为应用程序设置了错误的IP地址以供侦听。IP地址127.0.0.1是只能在机器内部使用的本地主机或环回IP。看看这里。因此,您可以尝试将IP更改为0.0.0.0。这个在外面是可以接近的。

最新更新