我通过以下链接使用Kubernetes创建了一个ACS(Azure容器服务):https://docs.microsoft.com/en-us/azure/container-service/container-service-kubernetes-windows-walkthrough&我通过以下链接部署了我的.net 4.5应用程序:https://docs.microsoft.com/en-us/azure/container-service/container-service-kubernetes-ui . 我的应用程序需要访问Azure SQL和其他资源,这些资源属于我帐户中的其他一些资源组,但我的容器无法对网络进行任何外拨调用 - 无论是在azure还是在Internet上 . 我打开了一些端口以允许出站连接,这也没有帮助 .
当我创建一个ACS它是否带有一个网关或我应该创建一个?如何配置ACS以允许出站网络呼叫?
谢谢,
阿肖克 .
2 回答
如果要连接到10.0.0.0/16范围以外的IP地址(即您未连接到VNET上的其他服务),则出站Internet访问将从Azure容器服务(ACS)Kubernetes Windows群集中运行 .
在2017年2月22日之前,有一个无法访问Internet的错误 .
请尝试ACS-Engine的最新部署:https://github.com/Azure/acs-engine/blob/master/docs/kubernetes.windows.md . ,如果您仍然看到此问题,请在那里打开一个问题,我们(Azure容器服务)可以帮助您进行调试 .
对于与群集内运行的服务进行通信,您可以使用Kube-dns,它允许您通过其名称访问服务 . 您可以在https://kubernetes.io/docs/admin/dns/找到更多详细信息
对于外部通信(Internet),不需要创建任何网关等 . 默认情况下,pod中的容器可以进行出站连接 . 要验证这一点,您可以在其中一个容器中运行powershell并尝试运行
并看看它是否有效 .
要运行powershell,ssh到主节点 - instructions here