我在Azure Kubernetes群集中创建了两个pod 1)申请 2)MS SQL服务器
这两个pod都通过Azure Loadbalancer公开,并且都具有外部IP。我无法在我的应用程序配置文件中使用外部IP。但我可以从任何地方连接该SQL Server。出于某种原因,我无法从应用程序容器中远程登录DB IP。
连接超时。但我可以ping / telnet数据库的集群IP。所以我尝试在配置文件中使用数据库集群IP来检查连接是否成功但没有运气。
有人可以帮我这个吗?
答案 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