Имеется приличная документация о том, как передавать и извлекать изображения с помощью GCR и GKE. Кроме того, этот ответ является аналогичным ответом для обычных экземпляров GCE.
Предполагая, что ваш пул узлов настроен с экземплярами с использованием учетной записи GCE по умолчанию, это простой вопрос настройки пула с помощьюread-write
область доступа при создании пула.
Несколько способов сделать это:
- Когда вы создаете пул узлов с помощью gcloud, укажите (дополнительно)
--scopes https://www.googleapis.com/auth/devstorage.read_write
(Кроме того, вы можете включить «все области», используя это значение: https://www.googleapis.com/auth/cloud-platform
, но это исключительно допустимо) - В консоли при настройке пула узлов выберите область действия специально (по умолчанию это только чтение) или выберите «все области», например:
... пропущено множество вариантов выбора области действия ...
Если по какой-либо причине вы не можете просто разорвать пул узлов, инструкции о том, как перенести задания на новый тип компьютера должен работать для вас (в этом случае, «новый тип машины» простоs новые права доступа). Основные шаги:
- Создание нового пула узлов
- Отключение (пометить как невыполнимый) существующий пул узлов (и отключение существующих заданий)
- Дождитесь миграции заданий
- Удалите существующий пул узлов
Тем не менее, может имеет смысл пойти немного дальше и использоватьвыделенная служебная учетная запись (и ключ) для отправки изображений, если вы не хотите, чтобы какой-либо модуль в вашем кластере имел такой доступ. Аналогично, это не потребует уничтожения и воссоздания пула узлов.
Это приличная сумма, более сложная, но шаги будут примерно такими:
- Создайте учетную запись IAM, которая имеетнеобходимую роль (возможно, «Администратор хранилища объектов» - но вам понадобится возможность создать контейнер при первом нажатии 1055 *).
- Создание ключа для этой учетной записи IAM.
- Развертывание файла ключа вместе с заданием (предположительно, с помощью секрета GKE)
- Проверка подлинности в докере с файлом ключа :
cat keyfile.json | docker login -u _json_key --password-stdin https://eu.gcr.io
(или как вам подходит правильное имя хоста хранилища GCR)