Я хотел использовать gcloud cli для создания экземпляра sql, который доступен в сети по умолчанию. Итак, я попробовал это:
gcloud beta sql instances create instance1 \
--network projects/peak-freedom-xxxxx/global/networks/default
И я получаю ошибку
ERROR: (gcloud.beta.sql.instances.create) [INTERNAL_ERROR] Failed to create subnetwork.
Please create Service Networking connection with service 'servicenetworking.googleapis.com'
from consumer project '56xxxxxxxxx' network 'default' again.
Когда вы go на консоль, чтобы создать его, вы можете проверить частный IP, вы можете увидеть это:
И есть кнопка «Выделить и подключить». Я предполагаю, что это то, что мне нужно сделать. Но я не могу понять, как это сделать с помощью gcloud cli.
Кто-нибудь может помочь?
РЕДАКТИРОВАТЬ 1 :
У меня есть попытался установить --network
в https://www.googleapis.com/compute/alpha/projects/testing-project-xxx/global/networks/default
, что привело к
ERROR: (gcloud.beta.sql.instances.create) [INTERNAL_ERROR] Failed to
create subnetwork. Set Service Networking service account as
servicenetworking.serviceAgent role on consumer project
Затем я попытался воссоздать совершенно новый проект и активировать API Service Networking, например:
gcloud --project testing-project-xxx \
services enable \
servicenetworking.googleapis.com
А затем создание БД привело к той же ошибке. Поэтому я попытался вручную добавить роль servicenetworking.serviceAgent
и запустил:
gcloud projects add-iam-policy-binding testing-project-xxx \
--member=serviceAccount:service-PROJECTNUMBER@service-networking.iam.gserviceaccount.com \
--role=roles/servicenetworking.serviceAgent
Это удалось с
Updated IAM policy for project [testing-project-xxx].
bindings:
- members:
- user:email@gmail.com
role: roles/owner
- members:
- serviceAccount:service-OJECTNUMBERRP@service-networking.iam.gserviceaccount.com
role: roles/servicenetworking.serviceAgent
etag: XxXxXX37XX0=
version: 1
Но создание БД не удалось с той же ошибкой. Для справки: это командная строка, которую я использую для создания БД:
gcloud --project testing-project-xxx \
beta sql instances create instanceName \
--network=https://www.googleapis.com/compute/alpha/projects/testing-project-xxx/global/networks/default \
--database-version POSTGRES_11 \
--zone europe-north1-a \
--tier db-g1-small