403 "Запрос имел недостаточные области проверки подлинности" во время получения учетных данных контейнера gcloud

С виртуальной машины в GCE я сделал следующее

gcloud auth activate-service-account --key-file <blah>
# "blah" is a service account key file (JSON) I generated from the web interface
gcloud config set project <project-name>
gcloud config set compute/zone <zone-name>
gcloud set container/cluster <cluster-name>

Затем, когда я пытался бежать

gcloud container clusters get-credentials <cluster-name>

и это не удалось с сообщением об ошибке:

Сообщение об ошибке: "ОШИБКА: (gcloud.container.clusters.get-credentials) ResponseError: code = 403, сообщение = Запрос имеет недостаточные области проверки подлинности".

ВМ находится в той же сети, что и кластер GKE. Я попробовал то же самое, с тем же файлом ключа учетной записи службы с компьютера за пределами GCE, против кластера GKE в сети по умолчанию, и это удалось...

Ответ 1

Чтобы использовать API Google Kubernetes Engine от виртуальной машины GCE, вам нужно добавить область облачной платформы (" https://www.googleapis.com/auth/cloud-platform ") к вашей виртуальной машине при ее создании.

Ответ 2

Если вы используете API Google Kubernetes Engine от виртуальной машины в GCP. Сначала необходимо добавить необходимую область на уровне виртуальной машины https://www.googleapis.com/auth/projecthosting,cloud-platform. Это можно сделать и с помощью консоли GCP. Остановите экземпляр виртуальной машины, затем перейдите к опции редактирования, и в конце вы найдете области доступа к Cloud API.

Ответ 3

Шаг 1: gcloud init

Шаг 2: Выберите [2] Создать новую конфигурацию

Шаг 3: введите имя конфигурации. Имена начинаются со строчной буквы и содержат только строчные буквы az, цифры 0-9 и дефисы '-': kubernetes-service-account

Шаг 4. Выберите учетную запись, которую вы хотите использовать для выполнения операций для этой конфигурации: [2] Войдите в систему с новой учетной записью.

Шаг 5: Вы хотите продолжить (Да/Нет)? Y

Шаг 6. Скопируйте, вставьте ссылку на brwoser и войдите в систему с идентификатором, который используется для создания учетной записи Google Cloud.

Шаг 7. Скопируйте код подтверждения, предоставленный Google после входа в систему, и вставьте его в консоль.

Шаг 8: Выберите облачный проект для использования:

Шаг 9: Вы хотите настроить область и зону вычислений по умолчанию? (Y/N)? Y

Шаг 10: Пожалуйста, введите числовой выбор или текстовое значение (должно точно соответствовать элементу списка): 8

Ваш Google Cloud SDK настроен и готов к использованию!

После этого убедитесь, что учетная запись службы, настроенная для виртуальной машины, имеет разрешения для выполнения необходимых задач.