如何将Java REST应用程序移动到Google Cloud



我有REST API Java应用程序,并希望将其移动到云中。

但是我不明白哪个教程使用。 我已经在 Jib 制作的容器注册表中拥有 docker 映像,并希望将其与一些云数据库(云 SQL/扳手(连接。

如何将此连接支持更改为云?

db.driver=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/db
db.username=usrname
db.password=pswd
db.entity.package = com.example.model

我们通过Cloud SQL Proxy docker image执行此操作:https://cloud.google.com/sql/docs/mysql/connect-docker

  1. 启用云 SQL 管理员 API。
  2. 在计算引擎实例或客户端计算机上安装 mysql 客户端(如果尚未安装(。
  3. 如果需要,请安装 Docker 客户端 4.从 Google 容器注册表安装代理 Docker 映像。
  4. 如果您在本地计算机(不是计算引擎实例(上运行代理 Docker 映像,或者您的计算引擎实例没有适当的范围,请创建 Google Cloud Platform 服务帐户。
  5. 转到 Google Cloud Console 中的 Cloud SQL 实例页面。
  6. 选择实例以打开其实例详细信息页面并复制实例连接名称。
  7. 启动代理。
docker run -d 
-v <PATH_TO_KEY_FILE>:/config 
-p 127.0.0.1:3306:3306 
gcr.io/cloudsql-docker/gce-proxy:1.16 /cloud_sql_proxy 
-instances=<INSTANCE_CONNECTION_NAME>=tcp:0.0.0.0:3306 - credential_file=/config
  1. 启动客户端mysql -u <USERNAME> -p --host 127.0.0.1

然后使用

db.driver=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://127.0.0.1:3306/db
db.username=usrname
db.password=pswd
db.entity.package = com.example.model

如果要从 GKE 集群访问 CloudSQL 数据库,则有 2 种解决方案:

  1. 您可以使用在 CloudSQL 上配置私有 IP,然后将其直接访问到此 IP。为此,您的 GKE 集群必须配置为 VPC 本机。
  2. 您可以将挎斗附加到主容器,从而打开与数据库的cloud sql proxy连接。这个解决方案与@ParthMehta的答案非常相似。这里是这个挎斗配置的描述(和 github 示例(

对于 Spanner,这是不同的,因为不能使用专用 IP 或云 SQL 代理二进制文件。 此页面上有配置和依赖项的详细信息

如您所见,您将实例直接与资源定义(/projects/..../instance/.......(连接。您的配置文件应如下所示:

db.driver=com.google.cloud.spanner.jdbc.JdbcDriver
db.url=jdbc:cloudspanner:/projects/{YOUR_PROJECT_ID}/instances/{YOUR_INSTANCE_ID}/databases/{YOUR_DATABASE_ID}
db.dialect=com.google.cloud.spanner.hibernate.SpannerDialect

相关内容

  • 没有找到相关文章

最新更新