Облачные кластерные контейнеры создают ошибку разрешения `compute.networks.get` - PullRequest
2 голосов
/ 08 ноября 2019

Я пытаюсь создать кластер с GKE. У меня есть проект, который я уже использую.

Когда я запускаю

gcloud container clusters create cluster1

, я получаю следующее:

ОШИБКА: (gcloud.container.clusters.create)ResponseError: code = 403, message = Google Compute Engine: Требуется разрешение 'compute.networks.get' для 'projects // global / networks / default'.

То же самое происходит при использовании веб-интерфейса пользователя. И моя учетная запись службы, и мой пользователь имеют роли владельца.

Я попытался выполнить команду cluster create следующим образом:

  1. Я попытался добавить привязку политики для проекта длямоя существующая учетная запись службы:
gcloud projects add-iam-policy-binding <my-project> \
    --member serviceAccount:<my-user>@<my-project>.iam.gserviceaccount.com \
    --role  roles/compute.admin
Я прочитал, что для активации контейнера API требуется

gcloud services enable container.googleapis.com

Началось снова. Я удалил учетную запись службы, создал новую и активировал кредиты:
gcloud auth activate-service-account <my-user>@<my-project>.iam.gserviceaccount.com --key-file ${GOOGLE_APPLICATION_CREDENTIALS}
Я также пытался пройти аутентификацию с помощью учетной записи пользователя:
gcloud auth login

Ничего из этого не работает, и я не могу создать кластер

Ответы [ 2 ]

3 голосов
/ 11 ноября 2019

Я думаю, что я отвечу на свой вопрос здесь. Из служебной учетной записи docs

Когда вы создаете новый облачный проект с помощью GCP Console и если для вашего проекта включен API Compute Engine, для вас создается учетная запись службы Compute Engine. по умолчанию. Его можно узнать по электронной почте:

PROJECT_NUMBER-compute@developer.gserviceaccount.com

Мне пришлось каким-то образом удалить созданные по умолчанию учетные записи служб и, возможно, связанные с ними роли. Я думаю, именно поэтому я больше не мог создавать кластер в рамках своего проекта. Вместо того, чтобы пытаться понять, как воссоздать, я решил, что лучше всего начать новый проект. В конце концов, API создания кластера и консоль работают просто отлично.

0 голосов
/ 08 ноября 2019

Я думаю, вы должны установить разрешение учетной записи службы вычислительного движка:

 gcloud projects add-iam-policy-binding <my-project> \
--member [PROJECT_NUMBER]-compute@developer.gserviceaccount.com \
--role  roles/compute.admin
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...