gpt4 book ai didi

postgresql - 从 AWS 中的 Kubernetes 集群访问 Postgres RDS

转载 作者:行者123 更新时间:2023-11-29 11:28:48 26 4
gpt4 key购买 nike

我的 Kubernetes 集群设置具有在 AWS 上的开发和测试环境中运行的 n 层 Web 应用程序。生产环境选择了postgres RDS,保证定期备份。在创建 postgres RDS 实例时,为 db-subnet 选择了 kubernetes-vpc,以在试验运行期间保持网络简单。此外,选择的安全组与 kubernetes-minions 相同。

以下是服务和端点 yaml:

apiVersion: v1
kind: Service
metadata:
labels:
name: pgsql-rds
name: pgsql-rds
spec:
ports:
- port: 5432
protocol: TCP
targetPort: 5432

--

apiVersion: v1
kind: Endpoints
metadata:
name: pgsql-rds
subsets:
- addresses:
- ip: 52.123.44.55
ports:
- port: 5432
name: pgsql-rds
protocol: TCP

创建网络应用服务和部署时,无法连接到 RDS 实例。日志如下:

java.sql.SQLException:分配连接时出错。原因:无法分配连接,因为:与 pgsql-rds:5432 的连接被拒绝。检查主机名和端口是否正确,以及 postmaster 是否正在接受 TCP/IP 连接。

我错过了什么?任何解决问题的建议都表示赞赏。

最佳答案

这与 DNS 解析有关。当您在同一 VPC 内部使用 RDS dns 名称时,它将被解析为私有(private) ip。当您在 Internet 或另一个 VPC 上使用相同的 dns 名称时,您将获得 RDS 实例的公共(public) ip。

这是一个问题,因为除非将 RDS 实例公开到公共(public)互联网,否则您无法从另一个 VPC 使用负载平衡功能。

关于postgresql - 从 AWS 中的 Kubernetes 集群访问 Postgres RDS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40277075/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com