我在我的 AWS Kubernetes 集群(EC2 实例)上部署了一个解决方案 (AnzoGraph DB),并且运行良好。 突然这个解决方案停止了,我无法再通过 DNS 访问它。 我使用 kubectl port-forward 命令测试了部署在我的集群上的解决方案,它们运行良好(pod 和服务),因此我认为问题出在 AWS Loadbalancer 上。
要访问应用程序,我们需要通过以下路径: 请求 -> DNS -> AWS 负载均衡器 -> 服务 -> Pods。
LoadBalancer 是(经典)内部的,因此只有我或使用 VPN 的公司才能访问它。 每次尝试访问 DNS 时,都没有响应。
知道如何修复它吗?或者确切的问题在哪里?如何解决此问题并跟踪 AWS 上的流量?
非常感谢您的帮助!
答案 0 :(得分:0)
对不起,我之前错过了你的帖子。
让我们从几个问题开始... 您说您在 AWS EC2 上使用 k8s,您实际上使用 EKS,还是运行不同的 k8s 堆栈?
另外……您提到您通过 DNS 解析 LB 从您的 (DB) 客户端/您的软件访问 LB,然后访问 AnzoGraph DB。
我想确保解决方案实际上是每次通过 DNS 解析 LB 的 DNS。如果您有一个长期运行的服务,并且 AWS 更改 LB 的 IP 地址,并且您的软件可能已经缓存了该 IP,您将无法连接到 LB。
我假设您通过 443 访问 AnzoGraph DB 前端 POD? 写的时候
<块引用>“我使用 kubectl port-forward 命令测试了部署在我的集群上的解决方案,它们运行良好(Pod 和服务)”
我们可能不必寻找 pod 日志。 (如果不是这样,LB 显然也会阻塞流量。)
所以我同意,最可能的问题是(坏的)DNS 缓存或 SG,因为不同的 SRC IP 被经典 LB SG 拒绝。
也为了完整性......请告诉我们更多关于你的环境的信息。
最佳 - 弗兰克