无法从应用程序访问 DB pod 外部 IP

unable to access DB pod External IP from application

我在 Azure Kubernetes 集群的顶部创建了两个 pods 1) 申请 2) MS SQL 服务器

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

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

有人可以帮我解决这个问题吗?

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

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

此问题已通过其他方式解决。但仍然运行作为单独服务的应用程序和数据库是 Azure 容器服务 (Kubernetes) 中的噩梦。

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

2) 使用上述设置创建了 Docker 图像

3) 创建 pod

4) 带有两个侦听端口的暴露 pod "kubectl expose pods "xxx" --port=80,1433 --type=LoadBalancer

5) 我可以用1433访问数据库

在上面的设置中,我们计划将容器保持在具有持久卷存储的自动缩放环境中 另外我们计划做容器的计划备份,所以我们不想丢失数据库数据。

有没有人有其他想法,我们在上述设置中需要考虑的主要问题因素是什么??

此问题已修复..!

为应用程序和数据库创建两个 pods,早些时候当我在应用程序配置文件中提供数据库集群 IP 时,它是 worked.But 我能够远程登录 1433

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

感谢@Suresh Vishnoi