2

当我阅读谷歌文档时,我看到推荐的方法是使用云 sql 代理:

要使用公共 IP 地址从 Google Kubernetes Engine 安全地连接到 Cloud SQL,您必须使用 Cloud SQL 代理。

从另一面看,当我阅读spring 文档时,我看到了以下实现方式:

添加依赖:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-gcp-starter-sql-postgresql</artifactId>
</dependency>

并指定属性:

spring.cloud.gcp.sql.instance-connection-name
spring.cloud.gcp.sql.database-name
spring.datasource.username
spring.datasource.password

我尝试了弹簧方式并且它有效,但我不确定它是否是推荐的方式,因为谷歌文档。你能澄清一下吗?

附言

当我在cloudSQL端从公共IP切换到私有IP时,Spring Boot方法停止工作,我不知道如何恢复它?

4

1 回答 1

1

spring-cloud-gcp-starter-sql-postgresql是一个很棒的库,如果您正在构建 Spring 应用程序,我建议使用它。它使用Cloud SQL JDBC Socket Factory,它使用与 Cloud SQL 代理相同的机制进行连接。

关于切换到公共 IP 与私有 IP -使用私有 IP 有许多特定要求。对于 GKE,您需要确保您使用的是 VPC 原生集群,并且您与您的实例位于同一区域和 VPC 中。

于 2020-01-11T04:36:52.867 回答