Mit dem Tool für die automatische Migration können Sie von Container Registry zu gcr.io
-Repositories migrieren, die in Artifact Registry gehostet werden.
Die Migration zu Artifact Registry gcr.io
-Repositories kann auf Container Registry-Endpunkten durchgeführt werden, die Traffic empfangen, ohne dass Ausfallzeiten oder Dienstunterbrechungen erforderlich sind.
Das Tool zur automatischen Migration kann die folgenden Aktionen ausführen:
- Erstellen Sie in Artifact Registry für jedes Ihrer aufgeführten
gcr.io
Projekte in der entsprechenden Regiongcr.io
Repositories. - Sie können für jedes Repository eine IAM-Richtlinie vorschlagen und die Richtlinie je nach Nutzereinstellung anwenden oder überspringen.
- Leiten Sie den gesamten Traffic von
gcr.io
-Endpunkten an Artifact Registry weiter. - Kopieren Sie alle in Container Registry gespeicherten Container-Images in Ihre Artifact Registry
gcr.io
-Repositories, auch wenn Sie die Weiterleitung bereits aktiviert haben.
Hinweise
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Enable the Artifact Registry API.
Wenn Sie diesen Schritt überspringen, werden Sie vom Tool zur automatischen Migration aufgefordert, die Artifact Registry API zu aktivieren.
Erforderliche Rollen
Die folgenden Rollen sind für die Umstellung auf gcr.io
-Repositories in Artifact Registry mit dem automatischen Migrationstool erforderlich.
Dienstkontorollen:
Sie können das gcr.io
-Migrationsdienstkonto mit der E-Mail-Adresse von artifact-registry-same-project-copier@system.gserviceaccount.com
oder das Artifact Registry-Dienstkonto verwenden, um zu gcr.io
-Repositories in Artifact Registry zu wechseln.
Damit das Dienstkonto, das Sie für die Migration verwenden, die erforderlichen Berechtigungen zum Kopieren von Images aus Container Registry in Artifact Registry hat, bitten Sie Ihren Administrator, dem Dienstkonto, das Sie für die Migration verwenden, die IAM-Rolle Storage Object Viewer (roles/storage.objectViewer
) für das Container Registry-Projekt, den Container Registry-Ordner oder die Container Registry-Organisation zuzuweisen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Ihr Administrator kann dem Dienstkonto, das Sie für die Migration verwenden, möglicherweise auch die erforderlichen Berechtigungen über benutzerdefinierte Rollen oder andere vordefinierte Rollen erteilen.
Nutzerrollen:
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Artifact Registry Container Registry Migration Admin (roles/artifactregistry.containerRegistryMigrationAdmin
) für die Google Cloud Organisation oder das Projekt zuzuweisen, die bzw. das Sie migrieren möchten, um die Berechtigungen zu erhalten, die Sie für die Umstellung auf gcr.io
-Repositories benötigen, die in Artifact Registry gehostet werden.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Zu gcr.io
-Repositories migrieren, die in Artifact Registry gehostet werden
Mit dem Befehl gcloud artifacts docker upgrade migrate
können Sie ein einzelnes Google Cloud - oder mehrere Google Cloud -Projekte gleichzeitig migrieren.
Führen Sie den folgenden Befehl aus, um zu gcr.io
-Repositories zu migrieren.
gcloud artifacts docker upgrade migrate \
--projects=PROJECTS
Dabei ist PROJECTS die Projekt-ID eines einzelnen Projekts, das Sie zu gcr.io
-Repositories migrieren möchten, die in Artifact Registry gehostet werden, oder eine durch Kommas getrennte Liste von Projekt-IDs, die Sie zu gcr.io
-Repositories migrieren möchten, die in Artifact Registry gehostet werden.
Das Migrationstool führt die folgenden Schritte aus:
- Es werden
gcr.io
Repositories in Artifact Registry für jedes Ihrer aufgeführtengcr.io
Projekte in der entsprechenden Region erstellt. - Es wird eine IAM-Richtlinie für jedes Repository vorgeschlagen und die Richtlinie wird angewendet oder die Anwendung wird je nach Nutzereinstellung übersprungen.
- Leitet den gesamten Traffic vom
gcr.io
-Endpunkt an Artifact Registry weiter. Fehlende Images werden vorübergehend von Artifact Registry bereitgestellt, indem sie bei der Anfrage aus Container Registry kopiert werden, bis alle Container-Images in Artifact Registry kopiert wurden. - Alle in Ihren
gcr.io
-Buckets gespeicherten Container-Images werden in die neu erstelltengcr.io
-Repositories kopiert, die in Artifact Registry gehostet werden. - Deaktiviert das Kopieren bei der Anfrage. Das in Artifact Registry gehostete
gcr.io
-Repository ist nicht mehr von Container Registry abhängig.
Wenn Sie nur Images kopieren möchten, die in den letzten 30 bis 180 Tagen aus Container Registry abgerufen wurden, können Sie das Flag --recent-images=DAYS
angeben.
Ersetzen Sie DAYS durch die Anzahl der Tage zwischen 30 und 180, innerhalb derer das Tool nach Pull-Anfragen suchen soll.
Wenn Sie eine bestimmte Anzahl der kürzlich hochgeladenen Versionen jedes Bildes kopieren möchten, können Sie das Flag --last-uploaded-versions=VERSIONS
angeben. Ersetzen Sie VERSIONS durch die Anzahl der Versionen, die Sie für jedes Bild kopieren möchten. Wenn während des Kopierens neue Bilder hochgeladen werden, werden möglicherweise mehr als die angegebene Anzahl von Versionen kopiert.
Das Flag --recent-images
und das Flag --last-uploaded-versions
schließen sich gegenseitig aus und können nicht zusammen verwendet werden.
Wenn Fehler oder Zeitüberschreitungen auftreten, können Sie den Befehl noch einmal ausführen. Bereits abgeschlossene Schritte werden übersprungen.