Eseguire la migrazione automatica da Container Registry ad Artifact Registry

Utilizza lo strumento di migrazione automatica per passare da Container Registry ai repository gcr.io ospitati su Artifact Registry.

La migrazione ai repository di Artifact Registry gcr.io può essere eseguita sugli endpoint di Container Registry che ricevono traffico senza richiedere tempi di riposo o interruzione del servizio.

Lo strumento di migrazione automatica può eseguire le seguenti azioni:

  • Crea repository gcr.io in Artifact Registry per ciascuno dei progetti gcr.io elencati nella regione corrispondente.
  • Suggerisci un criterio IAM per ogni repository e applicalo o salta l'applicazione in base alle preferenze dell'utente.
  • Reindirizza tutto il traffico dagli endpoint gcr.io ad Artifact Registry.
  • Copia tutte le immagini container archiviate in Container Registry nei tuoi repository Artifact Registrygcr.io, anche se hai già attivato il reindirizzamento.

Prima di iniziare

  1. Install the Google Cloud CLI.
  2. To initialize the gcloud CLI, run the following command:

    gcloud init
  3. Enable the Artifact Registry API.

    Enable the API


    Lo strumento di migrazione automatica ti chiede di abilitare l'API Artifact Registry se salti questo passaggio.

Ruoli obbligatori

I seguenti ruoli sono necessari per la transizione ai repository gcr.io in Artifact Registry utilizzando lo strumento di migrazione automatica.

Ruoli dell'account di servizio:

Puoi utilizzare l'account di servizio di migrazione gcr.io con l'indirizzo email di artifact-registry-same-project-copier@system.gserviceaccount.com o l'account di servizio Artifact Registry per passare ai repository gcr.io in Artifact Registry.

Per assicurarti che l'account di servizio che utilizzi per la migrazione disponga delle autorizzazioni necessarie per copiare le immagini da Container Registry ad Artifact Registry, chiedi all'amministratore di concedere all'account di servizio che utilizzi per la migrazione il ruolo IAM Visualizzatore oggetti Storage (roles/storage.objectViewer) per il progetto, la cartella o l'organizzazione Container Registry. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

L'amministratore potrebbe anche essere in grado di concedere all'account di servizio che utilizzi per la migrazione le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.

Ruoli utente:

Per ottenere le autorizzazioni necessarie per eseguire la transizione ai repository gcr.io ospitati in Artifact Registry, chiedi all'amministratore di concederti il ruolo IAM Amministratore di migrazione del registry dei container di Artifact Registry (roles/artifactregistry.containerRegistryMigrationAdmin) nell'organizzazione o nel progetto Google Cloud di cui vuoi eseguire la migrazione. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Esegui la migrazione ai repository gcr.io ospitati su Artifact Registry

Puoi eseguire la migrazione di un singolo progetto Google Cloud o di più progetti Google Cloud contemporaneamente utilizzando il comando gcloud artifacts docker upgrade migrate.

Per eseguire la migrazione ai repository gcr.io, esegui il seguente comando.

gcloud artifacts docker upgrade migrate \
    --projects=PROJECTS

dove PROJECTS è l'ID progetto di un singolo progetto di cui vuoi eseguire la migrazione ai repository gcr.io ospitati su Artifact Registry o un elenco di ID progetto separati da virgole di cui vuoi eseguire la migrazione ai repository gcr.io ospitati su Artifact Registry.

Lo strumento di migrazione completa i seguenti passaggi:

  • Crea repository gcr.io in Artifact Registry per ciascuno dei progetti gcr.io elencati nella regione corrispondente.
  • Suggerisce un criterio IAM per ogni repository e lo applica o ne salta l'applicazione in base alle preferenze dell'utente.
  • Reindirizza tutto il traffico dall'endpoint gcr.io ad Artifact Registry. Artifact Registry pubblica temporaneamente le immagini mancanti copiandole da Container Registry al momento della richiesta finché tutte le immagini dei container non vengono copiate in Artifact Registry.
  • Copia tutte le immagini container archiviate nei bucket gcr.io nei repository gcr.io appena creati ospitati su Artifact Registry.
  • Disattiva la copia al momento della richiesta. Il repository gcr.io ospitato su Artifact Registry non dipende più da Container Registry.

Se vuoi copiare solo le immagini estratte da Container Registry negli ultimi 30-180 giorni, puoi includere il flag --recent-images=DAYS. Sostituisci DAYS con il numero di giorni, compreso tra 30 e 180, entro i quali lo strumento deve verificare la presenza di pull.

Se vuoi copiare un numero specifico di versioni caricate di recente di ogni immagine, puoi includere il flag --last-uploaded-versions=VERSIONS. Sostituisci VERSIONS con il numero di versioni da copiare per ogni immagine. Se durante la copia vengono caricate nuove immagini, potrebbe essere copiato un numero superiore di versioni rispetto a quello specificato.

Il flag --recent-images e il flag --last-uploaded-versions sono mutuamente esclusivi e non possono essere utilizzati insieme.

Se si verificano errori o timeout, puoi eseguire di nuovo il comando in tutta sicurezza e i passaggi completati vengono ignorati.

Copiare le immagini

Lo strumento di migrazione copia automaticamente le immagini container quando lo esegui, ma se vuoi saltare tutti gli altri passaggi della migrazione automatica e utilizzare lo strumento per copiare le immagini in Artifact Registry, puoi passare il flag --copy-only.

Per copiare le immagini da Container Registry a un repository gcr.io ospitato su Artifact Registry, esegui il seguente comando:

gcloud artifacts docker upgrade migrate \
    --projects=PROJECTS \
    --copy-only

dove PROJECTS è l'ID di un singolo progetto di cui vuoi eseguire la migrazione ai repository gcr.io ospitati su Artifact Registry oppure un elenco di ID progetto separati da virgola di cui vuoi eseguire la migrazione ai repository gcr.io ospitati su Artifact Registry.

Lo strumento salta tutti i passaggi di migrazione e copia le immagini nei progetti specificati da Container Registry ai repository gcr.io ospitati su Artifact Registry.

Passaggi successivi