无法通过对等VPC网络访问具有私有IP的Google Cloud SQL

问题描述 投票:1回答:2

这些是步骤:

  • 在“项目A”中,我有一个带有postgresql私有IP的“网络A”。
  • 可以通过私有IP从同一“网络A”中存在的VM访问postgresql。
  • 在同一个“项目A”中创建一个新的“网络B”
  • 在“网络A”和“网络B”之间创建“VPC网络对等体”
  • 完全打开防火墙
  • 无法从“网络B”到达postgresql,虽然可以ping“网络A”上存在的VM

为什么我无法访问postgresql?是因为SQL私有IP处于Beta模式,或者我在这里缺少什么?

postgresql google-cloud-platform google-cloud-sql google-cloud-networking
2个回答
1
投票

Cloud SQL专用IP访问是通过对等设置的,因此网络A与网络Z对等,后者包含您的Cloud SQL实例。当您将A与B对等时,B无法访问网络Z.


2
投票

是的,代理是前面的响应中提到的方法,因为对等不是传递的。

从对等网络“B”VM访问网络“A”中的SQL代理将是直截了当的。

至于网络“B”中Kubernetes集群的访问,有一个可能的缺陷。默认情况下,Kubernetes不会将SNAT流量发送到10.0.0.0/8,并会尝试将其保留在本地。因此,您需要更改主机实例上的iptables规则以到达外部。

一个永久的解决方案是设置DaemonSet,但你可以先在主机上通过手动更改来测试这个理论。例如:

iptables -A POSTROUTING -d 10.11.0.0/24 \
   -m addrtype ! --dst-type LOCAL -j MASQUERADE -t nat

这是一个优秀,简单的指南https://blog.mrtrustor.net/post/iptables-kubernetes/的链接。

© www.soinside.com 2019 - 2024. All rights reserved.