Служба 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

deploy.yml находится в корневом каталоге.

Цените, если у кого-то есть указатели, поскольку я очевидно пропускаю точку.

Спасибо.

2 ответа

Если предположить, 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

Что привело к следующему аналогичному вопросу Cloud SQL Proxy и недостаточному разрешению

Я воссоздал кластер, в том числе области 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 в исходном вопросе.

Другие вопросы по тегам