我有一个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在根目录中。
感谢某人是否有任何指点,因为我显然遗漏了一点。
谢谢。
答案 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错误代码。