Основной причиной этой проблемы была не настройка областей доступа (OAuth) на экземплярах кластера, не позволяющих учетной записи службы работать должным образом.
Из документов GCP о Вычислить учетные записи служб :
Вы должны установить области доступа в экземпляре, чтобы разрешить доступ.
Вы не можете устанавливать только роли IAM для учетной записи службы и пропускать области доступа при создании экземпляра виртуальной машины. Уровень доступа к учетной записи службы определяется комбинацией областей доступа и ролей IAM, поэтому для правильной работы учетной записи службы необходимо настроить как области доступа, так и роли IAM.
Минимальные области, требуемые для доступа к частным изображениям в GCR, можно найти здесь , значение этих областей можно найти здесь . Затем можно создать учетную запись службы с минимальными привилегиями для узлов кластера, следуя инструкциям здесь .
Как описано здесь альтернативой может быть предоставление только области https://www.googleapis.com/auth/cloud-platform
узлам кластера, которая разрешает доступ ко всем службам облачной платформы, а затем ограничение доступа через роли IAM для учетных записей служб узлов.
При настройке узлов кластера, как указано выше, imagePullSecrets
не требуется для извлечения частных изображений из GCR в том же проекте.