1

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

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

谢谢你。

4

2 回答 2

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

这解决了这个问题。

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

于 2018-10-06T14:54:18.320 回答
0

假设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
于 2018-10-05T12:37:33.667 回答