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

时间:2018-10-05 11:31:42

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

我有一个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在根目录中。

感谢某人是否有任何指点,因为我显然遗漏了一点。

谢谢。

2 个答案:

答案 0 :(得分:0)

假设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

答案 1 :(得分:0)

@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

这解决了问题。

感谢您的反馈,也很抱歉在原始问题中缺少google错误代码。