我有一个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错误代码而道歉。