无法从应用程序

时间:2017-12-01 16:12:55

标签: azure kubernetes containers kubectl azure-container-service

我在Azure Kubernetes群集中创建了两个pod 1)申请 2)MS SQL服务器

这两个pod都通过Azure Loadbalancer公开,并且都具有外部IP。我无法在我的应用程序配置文件中使用外部IP。但我可以从任何地方连接该SQL Server。出于某种原因,我无法从应用程序容器中远程登录DB IP。

连接超时。但我可以ping / telnet数据库的集群IP。所以我尝试在配置文件中使用数据库集群IP来检查连接是否成功但没有运气。

有人可以帮我这个吗?

3 个答案:

答案 0 :(得分:0)

正如Suresh所说,我们不应该使用公共IP地址来连接它们。

我们可以参考此article来创建应用程序和数据库,然后使用服务将前端连接到后端。

答案 1 :(得分:0)

此问题已通过其他方式修复。但仍在运行应用程序&作为单独服务的数据库是Azure容器服务(Kubernetes)中的夜魇。

1)我将App + DB合并到同一容器中,并将数据库连接字符串作为" localhost"或者" localhost,1433"是我的应用程序配置文件。

2)使用上面的设置创建Docker镜像

3)创建了pod

4)暴露的吊舱有两个监听端口" kubectl暴露吊舱" xxx" --port = 80,1433 --type = LoadBalancer

5)我可以使用1433

访问数据库

在上面的设置中,我们计划将容器保留在具有持久卷存储的自动扩展环境中 我们还计划进行容器的预定备份,因此我们不想丢失数据库数据。

是否有人有其他想法,我们需要在上述设置中考虑哪些主要问题?

答案 2 :(得分:0)

此问题已修复..!

为应用程序和数据库创建两个pod,之前当我在应用程序配置文件中提供数据库集群IP时,它已经工作了。但是我能够telnet 1433

我在Azure中创建了另一个K8s群集,然后尝试使用相同的设置(提供群集IP)。这次它像魅力一样有效。

感谢@Suresh Vishnoi