Migrer automatiquement de Container Registry vers Artifact Registry

Utilisez l'outil de migration automatique pour passer de Container Registry aux dépôts gcr.io hébergés sur Artifact Registry.

La migration vers les dépôts gcr.io Artifact Registry peut être effectuée sur les points de terminaison Container Registry qui reçoivent du trafic sans nécessiter de temps d'arrêt ni de perturbation du service.

L'outil de migration automatique peut effectuer les actions suivantes:

  • Créez des dépôts gcr.io dans Artifact Registry pour chacun de vos projets gcr.io listés dans la région correspondante.
  • Suggérez une stratégie IAM pour chaque dépôt et appliquez-la ou ignorez-la en fonction des préférences de l'utilisateur.
  • Rediriger tout le trafic provenant des points de terminaison gcr.io vers Artifact Registry.
  • Copiez toutes les images de conteneur stockées dans Container Registry vers vos dépôts gcr.io Artifact Registry, même si vous avez déjà activé la redirection.

Avant de commencer

  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


    L'outil de migration automatique vous invite à activer l'API Artifact Registry si vous ignorez cette étape.

Rôles requis

Les rôles suivants sont requis pour passer aux dépôts gcr.io dans Artifact Registry à l'aide de l'outil de migration automatique.

Rôles de compte de service:

Vous pouvez utiliser le compte de service de migration gcr.io avec l'adresse e-mail de artifact-registry-same-project-copier@system.gserviceaccount.com ou le compte de service Artifact Registry pour passer aux dépôts gcr.io dans Artifact Registry.

Pour vous assurer que le compte de service que vous utilisez pour la migration dispose des autorisations nécessaires pour copier des images de Container Registry vers Artifact Registry, demandez à votre administrateur d'accorder au compte de service que vous utilisez pour la migration le rôle IAM Lecteur d'objets de l'espace de stockage (roles/storage.objectViewer) sur le projet, le dossier ou l'organisation Container Registry. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Votre administrateur peut également attribuer au compte de service que vous utilisez pour la migration les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Rôles utilisateur:

Pour obtenir les autorisations nécessaires pour passer aux dépôts gcr.io hébergés sur Artifact Registry, demandez à votre administrateur de vous accorder le rôle IAM Administrateur de la migration du référentiel de conteneurs Artifact Registry (roles/artifactregistry.containerRegistryMigrationAdmin) sur l'organisation ou le projet Google Cloud que vous souhaitez migrer. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Migrer vers des dépôts gcr.io hébergés sur Artifact Registry

Vous pouvez migrer un seul projet Google Cloud ou plusieurs projets Google Cloud en même temps à l'aide de la commande gcloud artifacts docker upgrade migrate.

Pour migrer vers des dépôts gcr.io, exécutez la commande suivante.

gcloud artifacts docker upgrade migrate \
    --projects=PROJECTS

PROJECTS est l'ID d'un seul projet que vous souhaitez migrer vers des dépôts gcr.io hébergés sur Artifact Registry, ou une liste d'ID de projet séparés par une virgule que vous souhaitez migrer vers des dépôts gcr.io hébergés sur Artifact Registry.

L'outil de migration effectue les étapes suivantes:

  • Crée des dépôts gcr.io dans Artifact Registry pour chacun de vos projets gcr.io listés dans la région correspondante.
  • Suggère une stratégie IAM pour chaque dépôt, puis applique la stratégie ou ignore l'application en fonction des préférences de l'utilisateur.
  • Redirige tout le trafic du point de terminaison gcr.io vers Artifact Registry. Artifact Registry diffuse temporairement les images manquantes en les copiant depuis Container Registry au moment de la requête jusqu'à ce que toutes les images de conteneur soient copiées vers Artifact Registry.
  • Copier toutes les images de conteneur stockées dans vos buckets gcr.io dans les dépôts gcr.io nouvellement créés hébergés sur Artifact Registry
  • Désactive la copie au moment de la requête. Le dépôt gcr.io hébergé sur Artifact Registry ne dépend plus de Container Registry.

Si vous ne souhaitez copier que les images extraites de Container Registry au cours des 30 à 180 derniers jours, vous pouvez inclure l'indicateur --recent-images=DAYS. Remplacez DAYS par le nombre de jours (compris entre 30 et 180) pendant lesquels l'outil doit rechercher des extractions.

Si vous souhaitez copier un nombre spécifique de versions récemment importées de chaque image, vous pouvez inclure l'indicateur --last-uploaded-versions=VERSIONS. Remplacez VERSIONS par le nombre de versions que vous souhaitez copier pour chaque image. Si de nouvelles images sont importées pendant la copie, le nombre de versions spécifié peut être dépassé.

L'option --recent-images et l'option --last-uploaded-versions sont mutuellement exclusives et ne peuvent pas être utilisées ensemble.

Si vous rencontrez des erreurs ou des expirations de délai, vous pouvez réexécuter la commande en toute sécurité, et les étapes terminées sont ignorées.

Copier des images

L'outil de migration copie automatiquement vos images de conteneur lorsque vous l'exécutez. Toutefois, si vous souhaitez ignorer toutes les autres étapes de la migration automatique et utiliser l'outil pour copier des images dans Artifact Registry, vous pouvez transmettre l'indicateur --copy-only.

Pour copier des images à partir de Container Registry vers un dépôt gcr.io hébergé sur Artifact Registry, exécutez la commande suivante:

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

PROJECTS est l'ID d'un seul projet que vous souhaitez migrer vers des dépôts gcr.io hébergés sur Artifact Registry, ou une liste d'ID de projets séparés par une virgule que vous souhaitez migrer vers des dépôts gcr.io hébergés sur Artifact Registry.

L'outil ignore toutes les étapes de migration et copie les images des projets spécifiés à partir de Container Registry vers des dépôts gcr.io hébergés sur Artifact Registry.

Étape suivante