繁体   English   中英

从GKE连接到Google Cloud SQL数据库的方式比较

[英]Comparison of ways to connect to Google Cloud SQL database from GKE

我一直在探索安全连接到Google Cloud SQL数据库的方法。 我们使用Google Kubernetes Engine部署Java Spring应用程序。

因此, https: //cloud.google.com/sql/docs/mysql/connect-kubernetes-engine提到了两种从kubernetes连接到云sql的方法。 由于我们没有VPC本机群集,因此无法使用私有IP方法。 因此,我们选择Cloud SQL Proxy docker映像作为连接介质。

然后,考虑https://cloud.google.com/sql/docs/postgres/external-connection-methods ,提到了以下选项:

在此处输入图片说明

由于我们的kubernetes pod IP地址将不断变化,我们不能采用公共IP方法。 我们已经选择了Cloud SQL Proxy docker映像。 因此,我们剩下了JDBC套接字库。

因此,比较Cloud SQL代理和JDBC套接字库:

  • Cloud SQL代理将与我们的应用程序容器一起成为我们kubernetes容器中的sidecar容器。 应用程序容器将使用云SQL凭据连接到“ localhost:5432”(代理)。 代理将获得用于访问cloud sql数据库的服务帐户。 代理提供与Cloud sql的安全连接。
  • JDBC套接字库还提供到云sql的安全连接。 需要在应用程序中添加Maven依赖关系,而应用程序仅需提供正确的数据库连接字符串。

从上面的比较中,JDBC Socket库似乎是更好的方法,因为我们不需要Sidecar容器-cloud sql proxy。

如果将应用程序部署在Google Kubernetes Engine中,那么与JDBC套接字库相比,Cloud SQL代理将提供什么优势?

与代理工厂相比,Cloud SQL代理没有任何优势,除了代理可以为更广泛的应用程序,语言和框架提供身份验证。

如果您的项目已经与Cloud SQL JDBC套接字工厂兼容,则应改用它。 它可以为您的应用程序创建直接连接,因此效率更高。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM