我正在尝试使用rds mysql设置eks。我使用eksctl设置eks集群,但没有更改任何默认网络配置。 eks和rds使用相同的vpc。 这是调试窗格中的结果
telnet xx.rds.amazonaws.com 3306
Connected to xx.us-west-2.rds.amazonaws.com
J
8.0.16\#t'Ti1??]Gp^;&Aomysql_native_passwordConnection closed by foreign host
/ # nslookup xxx.us-west-2.rds.amazonaws.com
Server: 10.100.0.10
Address: 10.100.0.10:53
Non-authoritative answer:
xxx.us-west-2.rds.amazonaws.com canonical name = ec2-xx.us-west-2.compute.amazonaws.com
Name: ec2-xx.us-west-2.compute.amazonaws.com
Address: 192.168.98.108
nc -vz 192.168.98.108 3306
192.168.98.108 (192.168.98.108:3306) open
我使用了服务网格Istio,我在没有启用命名空间的sidecar中创建了一个mysql客户端Pod,但收到如下错误消息 MySQL客户端容器
ERROR 2002 (HY000) Can't connect to MySQL sever on xxxxx.us-west-2.rds.amazonaws.com.
我是vpc的新手。 rds和vpc使用相同的vpc。它们是否连接在专用网络中?
如果在我的grpc服务器日志中显示连接被拒绝,则eks grpc服务器尝试连接192.168.98.108,这是广告的专用ip。我是否需要在vpc中进行其他配置?有任何想法吗?欢呼
答案 0 :(得分:0)
我确实有相同的情况(与EKS群集在同一VPC中的RDS)。我所做的如下:
我创建了一个Cloudformation模板,使用该模板创建了自定义VPC,8个子网(3个公共,3个用于EKS集群的私有网络和2个用于RDS数据库的私有网络),Internet网关,NAT网关,路由表和路线。
使用eksctl和群集配置yaml,我创建了群集和节点组。节点组加入了我的集群。
使用aws cli,我创建了db-subnet-group(包含2个私有DB子网),并且还启动了RDS实例。然后,我设置了一个安全组,以仅允许从3个私有子网向DB的通信)
作为创建我的自定义cloudformation模板的参考,当运行带有--node-private-networking标志的create命令时,我使用了eksctl创建的模板。