加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-13 15:55:24 所属栏目:百科 来源:网络整理
导读:我的Kubernetes集群设置具有在AWS上的开发和测试环境中运行的n层Web应用程序.对于生产环境,选择了postgres RDS,以确保定期备份.在创建postgres RDS实例时,为db-subnet选择了kubernetes-vpc,以便在试运行期间保持网络简单. 此外,选择的安全组与kubernetes-min
我的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

创建Web应用程序服务和部署时,它无法连接到RDS实例.
日志如下:

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

我错过了什么?任何解决问题的指针都表示赞赏.

解决方法

这与DNS解析有关.当您使用RDS dns名称INSIDE相同的VPC时,它将被解析为私有IP.当您在互联网或其他VPC上使用相同的DNS名称时,您将获得RDS实例的公共IP.

这是一个问题,因为除非您将RDS实例公开给公共Internet,否则从另一个VPC中无法使用负载平衡功能.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读