Spring GCP 服务未连接到 Cloud SQL 数据库



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

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

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

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

deployment.yml 位于根目录中。

如果有人有任何指示,请表示感谢,因为我显然错过了一点。

谢谢。

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

从 cli 中,您将执行以下操作:

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

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

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

这导致了以下类似的问题 云 SQL 代理和权限不足

我重新创建了群集,包括以下内容的 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

这解决了问题。

感谢您的反馈,并为原始问题中缺少Google错误代码而道歉。

相关内容

  • 没有找到相关文章

最新更新