amazon-web-services - EKS 中的节点不解析 RDS 的 DNS 名称(IP 工作)
问题描述
我再一次需要 Stack Overflow 的帮助:)。
我们有一个新的公共访问端点 EKS 集群,它是节点内的一个应用程序,它从 RDS 返回一些东西。集群的 VPC 是与持有 RDS 的私有 VPC 对等的 VPC。我们还启用了Accepter DNS解析。接受者是 RDS VPC。
当 SSH 连接到我的工作节点时,我们远程登录 RDS,它会解决它。最初,连接字符串是与端点建立的。它没有到达数据库。我将其更改为 RDS 的 IP,并且可以正常工作。
使用 DNS 名称时,需要:
1)大量的加载时间,
2)
"无法检索错误:超时已过期。从池中获取连接之前已过了超时期限。这可能是因为所有池连接都在使用中并且已达到最大池大小。 "
因此,我想知道你们中是否有人遇到过这个问题以及您是如何解决的?使用 EKS 进行 DNS 解析似乎很有趣,我不确定为什么实例可以解析,但不能解析 pod。
谢谢您的帮助!
解决方案
好的,所以我们找到了答案!找到它太久了,所以如果您碰巧遇到与我们相同的问题/配置,我会为您省去麻烦。
- 您需要 NaCL 和 SG 中的端口 53 出站。这就是 Kubernetes 检查 DNS 的方式。(在私有子网中运行时 AWS EKS 上的 DNS 问题)
- 在连接字符串 Data source 中,我们之前有“Data Source=DNSName;etc”。我们将其更改为“Data source=tcp:DNSName”。
就是这样
2天。:D
编辑:我可能会补充说我在另一个环境/aws 帐户中遇到了同样的问题(53 是答案,但略有不同):EKS 中的 Pods: can't resolve DNS (but can ping IP)
推荐阅读
- python - 3 个独立列的等高线图,x 轴一列,y 轴一列,第三列是等高线的深度
- node.js - 将响应从 puppeter 传递到 API
- nhibernate - NHibernate show_sql 不显示所有插入
- javascript - 仅通过特定键、值对的错误值过滤数组
- python - ValueError: Found array with dim 3. Estimator expected <= 2. 如何在随机森林回归器上使用它?
- flutter - Flutter 中的自定义 SliverAppBar
- javascript - Protractor 中的 Promise 是如何解决的?
- python - 子类 __init__ 中的 NameError:未定义“自我”
- html - 响应式 iframe 仍然有滚动条并且没有缩放
- python - Selenium:“WebDriver”对象没有属性“Chrome”(将桌面更改为移动设备)