2016-07-27 19 views
3

Wie kann ein GKE-Cluster Container-Images aus einer Container-Registry holen, die in einem anderen Projekt gehostet wird?Verwenden der Google Container Registry von GKE in einem anderen Projekt

Ich habe einen GKE-Cluster im Projekt <reader-project> versucht, auf ein GCR-Bild im Projekt <registry-project> zugreifen.

Ich habe versucht, für <reader-project> als Benutzer mit Lesezugriff auf den Speicher Eimer in <registry-project> die GCE-Dienstkonto E-Mail hinzugefügt, aber ich bin noch immer die Fehlermeldung:

<Error><Code>AccessDenied</Code> 
<Message>Access denied.</Message> 
<Details>Caller does not have storage.objects.get access to object us.artifacts.<registry-project>.appspot.com/containers/images/sha256:<tag>. 
</Details></Error> 

Antwort

4

Try GCE Dienst hinzufügen Konto-E-Mail als Benutzer mit Storage Object Viewer-Rolle. Es gibt dem Dienstkonto schreibgeschützten Zugriff auf GCS-Objekte (Container-Images) in Ihrem Projekt.

+0

zu ziehen. Ist es möglich, eine Reihe von Project Service Account-E-Mails unter einer IAM-Rolle hinzuzufügen, so dass ich auch andere Berechtigungen für diese Gruppe erteilen kann? Sieht aus wie es sein sollte, aber ich habe diesen Ansatz bereits für Storage Viewer ausprobiert und es hat nicht funktioniert. – Symmetric

+0

Ja, das sollte in Ordnung sein. –

+0

Dies funktioniert jetzt nicht. Ich habe versucht, indem ich das compute-Engine-Dienstkonto des anderen Projekts dem Projekt hinzufügte, das Registrierung enthält. Ich bekomme immer noch 403 Fehler. –

0

Können Sie die folgenden Befehle aus, die Berechtigungen für beide Eimer zu überprüfen:

gsutil acl erhalten gs: //us.artifacts..appspot.com

gsutil acl erhalten gs: // Artefakte. .appspot.com

artifacts..appspot.com ist der Standard-Bucket. Wenn Sie das Dienstkonto als Speicherobjekt-Viewer hinzufügen, wird die schreibgeschützte Berechtigung des Standard-Buckets gewährt. Hier

ist die Verbindung über gsutil Werkzeug: https://cloud.google.com/storage/docs/gsutil/commands/acl

0

Schauen Sie sich die IAM-Berechtigungen des Projekts unter dem Sie Ihre GKE haben und Sie werden ein Benutzer ähnlich sehen: [email protected].

Dann gewähren Sie diesem Benutzer in Ihrem Containerregistrierungsprojekt die Storage Object Viewer permission. Ihr GKE wird dann erlaubt, Bilder von der