GCP SQL实例与自动缩放GKE节点连接



我有一个带有多个SQL实例的GCP项目,以及两个具有自动伸缩功能的GKE集群。我已经在connections选项卡中使用GKE节点的公共ip配置了SQL实例,以允许通过公共ip进行连接。我的疑问是,当我的集群自动扩展时,如果我不添加新的公共ip节点,它里面的pod就不会连接。有没有一种方法可以在创建节点时自动添加节点的公共ip?

感谢

感谢您的最后一条评论,我理解您的问题!所以,这是错误的方式,有两个原因:

  • 这不是自动的,很难处理
  • 如果你允许,你的节点的IP是短暂的,然后你将IP释放到谷歌云IP池,另一个需要公共IP的用户(坏人?(可以重用相同的IP并访问你的数据库

因此,您有两个解决方案:

  • 首先,您可以使用私有IP。通过这种方式,您不必担心添加授权IP。如果IP在正确的VPC中,则路由是自动的(如果不是这样,请查看防火墙规则(
  • 另一种解决方案是使用一个sidecar容器,其中加载了Cloud SQL Auth代理(或者将其加载到您的容器中,但为了更好地分离问题,我更喜欢sidecar(。这个sidecar将与您的数据库建立一个安全的通信通道,并为您的应用程序打开一个linux套接字或TCP端口。这里有一个完整的例子

在第二种情况下,上只需要一个公共IP,而不需要授权网络。Cloud IAM服务检查访问并允许安全隧道打开。有了这个解决方案,它是可扩展的,而且更安全:您不需要在数据库上使用SSL证书来加密流量,默认情况下,它是使用Clous SQL身份验证代理来完成的。

最新更新