首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kubernetes:不能从EKS吊舱进入RDS Postgres

Kubernetes:不能从EKS吊舱进入RDS Postgres
EN

Stack Overflow用户
提问于 2018-12-01 14:46:33
回答 2查看 10.4K关注 0票数 16

我正试图在AWS上设置kubernetes。根据正式的AWS教程,我为此创建了一个带有3个节点(t2.小国)的EKS集群。然后我想运行一个与Postgres (不同VPC中的RDS)通信的应用程序。

但不幸的是,应用程序没有连接到数据库。

我所拥有的:

  1. 带有自己的VPC的EKS集群(CIDR: 192.168.0.0/16)
  2. RDS (Postgres)有自己的VPC (CIDR: 172.30.0.0/16)
  3. 从RDS VPC启动到EKS VPC的窥视连接
  4. 更新了EKS集群的3个公共子网的路由表:添加了目的地为172.30.0.0/16的路由和步骤#3中的目标对等连接。
  5. 更新RDS的路由表:添加目标为192.168.0.0/16的路由和步骤#3中的目标对等连接。
  6. 更新RDS安全组,添加新的入站规则:允许从192.168.0.0/16开始的所有通信量

在执行了所有这些步骤之后,我执行kubectl命令:

代码语言:javascript
运行
复制
kubectl exec -it my-pod-app-6vkgm nslookup rds-vpc.unique_id.us-east-1.rds.amazonaws.com
nslookup: can't resolve '(null)': Name does not resolve

Name:      rds-vpc.unique_id.us-east-1.rds.amazonaws.com
Address 1: 52.0.109.113 ec2-52-0-109-113.compute-1.amazonaws.com

然后,我连接到三个节点中的一个,并执行一个命令:

代码语言:javascript
运行
复制
getent hosts rds-vpc.unique_id.us-east-1.rds.amazonaws.com
52.0.109.113    ec2-52-0-109-113.compute-1.amazonaws.com rds-vpc.unique_id.us-east-1.rds.amazonaws.com

我在EKS设置中错过了什么才能从吊舱访问RDS?

更新:

我试图用Service来解决这个问题

代码语言:javascript
运行
复制
apiVersion: v1
kind: Service
metadata:
  name: postgres-service
spec:
  type: ExternalName
  externalName: rds-vpc.unique_id.us-east-1.rds.amazonaws.com

因此,我在EKS中创建了这个服务,然后尝试将postgres-service引用为DB,而不是直接的RDS主机地址。

此修复不起作用:(

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-04 22:28:41

您是否尝试过在对等连接中启用"dns传播“?看起来您没有得到内部可路由的dns。您可以通过进入对等连接的设置并选中用于dns传播的框来启用它。我通常这样做将所有的窥视连接,我控制。

票数 13
EN

Stack Overflow用户

发布于 2018-12-01 17:37:57

我提供的答案这里实际上也适用于您的情况。

它是关于使用没有选择器的服务。还可以查看ExternalName服务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53571908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档