Служба Spring GCP не подключается к базе данных Cloud SQL - PullRequest
0 голосов
/ 05 октября 2018

У меня есть служба 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 ]

0 голосов
/ 06 октября 2018

@ Мангу, я нашел следующую ошибку в журналах ошибок.

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 в исходном вопросе.

0 голосов
/ 05 октября 2018

Если 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
...