【问题标题】:Spring GCP service not connecting to Cloud SQL databaseSpring GCP 服务未连接到 Cloud SQL 数据库
【发布时间】:2019-03-10 21:47:04
【问题描述】:

我有一个 Spring GCP 服务,它在本地运行时可以很好地连接到我的 Google Cloud SQL 实例。

但是,当我在我的 Google Cloud Kubernetes 集群上部署和启动时,它无法连接并出现 Insufficient Permissions 错误。

我按照https://cloud.google.com/sql/docs/mysql/connect-kubernetes-engine 的步骤操作,但仍然是同样的连接问题。

我的源代码是https://github.com/christianblake/spring-boot-gcp

deployment.yml 在根目录中。

如果有人有任何指点,我会很感激,因为我显然错过了一点。

谢谢。

【问题讨论】:

  • 当您谈到权限不足时,您是什么意思?你能发布错误堆栈跟踪吗?另外,检查您的服务帐户是否具有适当的权限

标签: kubernetes google-cloud-platform google-cloud-sql spring-cloud-gcp


【解决方案1】:

@Mangu,我在错误日志中发现了以下错误。

Caused by: com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden

这导致了以下类似的问题 Cloud SQL Proxy and Insufficient Permission

我重新创建了集群,包括具有以下内容的 sql 范围。

gcloud container clusters create cloudcluster --num-nodes 2  --machine-type n1-standard-1 --zone us-central1-c --scopes https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/sqlservice.admin

这解决了问题。

感谢你们的反馈,并为错过原始问题中的谷歌错误代码而道歉。

【讨论】:

    【解决方案2】:

    假设credentials.json 安装正确,credentials.json 中定义的服务帐户需要具有Cloud SQL Client 角色。正如here 所记录的那样,有几种方法可以做到这一点。

    在 cli 中,您可以执行以下操作:

    gcloud projects add-iam-policy-binding $PROJECT_NAME \
    --member serviceAccount:$GOOGLE_SERIVICE_ACCOUNT.iam.gserviceaccount.com --role roles/cloudsql.client
    

    【讨论】:

      猜你喜欢
      • 2021-01-05
      • 2021-02-12
      • 1970-01-01
      • 2020-08-31
      • 2021-07-10
      • 1970-01-01
      • 1970-01-01
      • 2018-12-15
      • 1970-01-01
      相关资源
      最近更新 更多