Kubectl Не удалось получить образ докера из частного репозитория gcr.io. - PullRequest
0 голосов
/ 07 сентября 2018

У меня такая же проблема при извлечении образа докера из частного GCR, который выдает ошибку

Failed to pull image "gcr.io/{PROJECT_ID}/{IMAGE:TAG}:latest": rpc error: code = Unknown desc = Error response from daemon: repository gcr.io/{PROJECT_ID}/{IMAGE:TAG} not found: does not exist or no pull access

Решение, которое я пробовал, но все еще не решило проблему: 1. удалить кластер и воссоздать 2. Предоставлен редактор хранилища Admin для учетной записи службы, которая используется для получения изображения.

Кроме того, когда я пытаюсь получить изображение Docker с помощью аутентификации учетной записи службы, я могу загрузить изображение на свой локальный

docker image pull gcr.io/{PROJECT_ID}/{IMAGE:TAG}

Любое предложение \ помощь, что мне не хватает

Спасибо

Ответы [ 3 ]

0 голосов
/ 07 сентября 2018

Эта проблема возникала в основном при создании кластера с учетной записью службы по умолчанию (у которой нет разрешения на извлечение изображения из GCR), поэтому для решения этой проблемы мы можем попробовать следующее:

При создании кластера необходимо указать область действия как облачную платформу, чтобы узлы в кластере могли получить разрешение на извлечение образа из GCR

gcloud container clusters create "test-cluster"   --zone "us-central1-a"   --machine-type "n1-standard-1"    --scopes https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/devstorage.read_write  --num-nodes "3"

Или

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

*gcloud container clusters create "test-cluster" --zone "us-central1-a" --machine-type "n1-standard-1" --num-nodes "3" --service-account "XXXXXX@XXXXX.iam.gserviceaccount.com"*

Привет

0 голосов
/ 07 сентября 2018

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

0 голосов
/ 07 сентября 2018

Запускаете ли вы команды kubectl с локального компьютера?
Если это так, вы должны сначала настроить kubectl контекст для GKE, используя
gcloud container clusters get-credentials my-cluster --zone=europe-west2-a

Подробнее читайте здесь
https://cloud.google.com/sdk/gcloud/reference/container/clusters/get-credentials

Возможно, вам придется установить и настроить Google Cloud SDK перед выполнением вышеуказанной команды. https://cloud.google.com/sdk/install
https://cloud.google.com/sdk/docs/initializing

...