Migrar automáticamente de Container Registry a Artifact Registry

Usa la herramienta de migración automática para realizar la transición de Container Registry a Repositorios de gcr.io alojados en Artifact Registry o en la versión estándar de Artifact Registry de Cloud Storage.

La herramienta de migración automática puede realizar las siguientes acciones según el la ruta de transición que elijas:

  • Crea repositorios de gcr.io o repositorios estándar en Artifact Registry para cada uno de los proyectos gcr.io de la lista en la región correspondiente.
  • Sugiere una política de IAM para cada repositorio y aplica el política u omitir la aplicación según las preferencias del usuario.
  • Redireccionar todo el tráfico de los extremos de gcr.io a Artifact Registry
  • Copia todas las imágenes de contenedor almacenadas en Container Registry a tu Artifact Registry Repositorios gcr.io o estándar, incluso si ya está habilitado y el redireccionamiento.

Antes de comenzar

  1. Instala Google Cloud CLI.
  2. Para inicializar la CLI de gcloud, ejecuta el siguiente comando:

    gcloud init
  3. Elige una opción de transición.
    • Si estás realizando la transición a repositorios de gcr.io alojados en Artifact Registry, habilita la API de Artifact Registry en los proyectos de Container Registry que deseas migrar. La herramienta también te pedirá que habilites la API de Artifact Registry si omites este paso.

      Habilita la API de Artifact Registry.

      Habilita la API

    • Si estás haciendo la transición a repositorios estándar de Artifact Registry, habilita la API de Artifact Registry en el proyecto que deseas migrar las imágenes de contenedor de Container Registry. Puedes usar el mismo proyecto en el que Container Registry está habilitado o es un proyecto diferente.

      Habilita la API de Artifact Registry.

      Habilita la API

Roles obligatorios

Los siguientes roles son obligatorios para todas las opciones de transición que usan la configuración herramienta de migración.

Roles requeridos por la cuenta de servicio de Artifact Registry:

Para asegurarte de que la cuenta de servicio de Artifact Registry cuente con los permisos necesarios permisos para copiar imágenes de Container Registry a Artifact Registry Pídele a tu administrador que otorgue el acceso a la cuenta de servicio de Artifact Registry Rol de IAM de visualizador de objetos de Storage (roles/storage.objectViewer) en el proyecto de Container Registry. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

Es posible que el administrador también pueda otorgar la cuenta de servicio de Artifact Registry los permisos requeridos a través de la configuración rolesu otros predefinidos roles.

Roles necesarios para generar recomendaciones de IAM:

A fin de obtener los permisos que necesitas para analizar una política de permisos, solicita a tu administrador que te otorgue el siguientes roles de IAM en los proyectos de Container Registry que deseas migrar:

Si quieres obtener más información para otorgar roles, consulta Administra el acceso.

Estos roles predefinidos contienen los permisos necesarios para analizar una política de permiso. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para analizar una política de permiso:

  • cloudasset.assets.analyzeIamPolicy
  • cloudasset.assets.searchAllResources
  • cloudasset.assets.searchAllIamPolicies
  • Para analizar políticas con roles de IAM personalizados, sigue estos pasos: iam.roles.get
  • Si quieres usar Google Cloud CLI para analizar políticas, sigue estos pasos: serviceusage.services.use

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos

Los siguientes roles se otorgan en diferentes recursos según tu de transición.

Repositorios de gcr.io

Si quieres obtener los permisos que necesitas para realizar la transición a los repositorios de gcr.io alojados en Artifact Registry, solicita a tu administrador que te otorgue el los siguientes roles de IAM:

  • Crea repositorios de Artifact Registry y otorga acceso a repositorios individuales: Administrador de Artifact Registry (roles/artifactregistry.admin) en el proyecto de Google Cloud que contiene tus imágenes de Container Registry
  • Visualiza y administra la configuración existente de Container Registry aplicada a los buckets de almacenamiento de Cloud Storage: Administrador de almacenamiento (roles/storage.admin) en el proyecto de Google Cloud que contiene tus imágenes de Container Registry

Si quieres obtener más información para otorgar roles, consulta Administra el acceso.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

repositorios estándar

A fin de obtener los permisos que necesitas para la transición a repositorios estándar de Artifact Registry, solicita a tu administrador que te otorgue el los siguientes roles de IAM:

  • Crea repositorios de Artifact Registry y otorga acceso a repositorios individuales: Administrador de Artifact Registry (roles/artifactregistry.admin) en el proyecto de Google Cloud en el que está habilitada la API de Artifact Registry
  • Visualiza y administra la configuración existente de Container Registry aplicada a los buckets de almacenamiento de Cloud Storage: Administrador de almacenamiento (roles/storage.admin) en el proyecto de Google Cloud que contiene tus imágenes de Container Registry

Si quieres obtener más información para otorgar roles, consulta Administra el acceso.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Migra a los repositorios de gcr.io alojados en Artifact Registry

Puedes migrar uno o varios proyectos de Google Cloud al mismo tiempo con gcloud artifacts docker upgrade migrate kubectl.

Para migrar a los repositorios de gcr.io, ejecuta el siguiente comando.

gcloud artifacts docker upgrade migrate \
    --projects=PROJECTS

Donde PROJECTS es el ID del proyecto único que deseas migrar a repositorios de gcr.io alojados en Artifact Registry o a una lista separada lista de los IDs de los proyectos que quieres migrar a los repositorios de gcr.io alojados en Artifact Registry.

La herramienta de migración completa los siguientes pasos:

  • Crea repositorios de gcr.io en Artifact Registry para cada uno de los siguientes elementos: tus proyectos de gcr.io enumerados en la región correspondiente.
  • Sugiere una política de IAM para cada repositorio y aplica el política u omite la aplicación según las preferencias del usuario.
  • Redirecciona todo el tráfico del extremo gcr.io a Artifact Registry. Artifact Registry entrega temporalmente las imágenes que faltan copiándolas desde Container Registry en el momento de la solicitud hasta que todas las imágenes de contenedor se copien en Artifact Registry.
  • Copia todas las imágenes de contenedor almacenadas en tus buckets gcr.io en la plataforma recién creada Repositorios de gcr.io alojados en Artifact Registry.
  • Inhabilita la copia en el momento de la solicitud. El repositorio gcr.io alojado en Artifact Registry ya no depende de Container Registry.

Si solo deseas copiar las imágenes que se extrajeron de Container Registry en los últimos 30 a 150 días, puedes incluir la marca --recent-images=DAYS. Reemplaza DAYS por la cantidad de días, entre 30 y 150, que la la herramienta debería verificar las extracciones dentro.

Si quieres copiar un número específico de versiones cargadas recientemente de cada puedes incluir el --last-uploaded-versions=VERSIONS marca. Reemplaza VERSIONS por la cantidad de versiones que deseas copiar. para cada imagen. Si se suben imágenes nuevas durante la copia, se supera la cantidad de las versiones especificadas.

Las marcas --recent-images y --last-uploaded-versions se consideran mutuamente son exclusivas y no se pueden usar juntas.

Si se producen errores o se agota el tiempo de espera, puedes volver a ejecutar el comando de manera segura. se omitirán los pasos completados.

Migra a repositorios estándar de Artifact Registry

  1. Para migrar tu proyecto de gcr.io a un repositorio de Artifact Registry, ejecuta el siguiente comando: siguiente comando.

    gcloud artifacts docker upgrade migrate \
        --from-gcr=GCR_HOSTNAME/GCR_PROJECT \
        --to-pkg-dev=AR_PROJECT/AR_REPOSITORY
    

    Reemplaza lo siguiente:

    • GCR_HOSTNAME por el nombre de host de Container Registry. El nombre de host depende de la ubicación en la que se almacenan las imágenes de contenedor:

      • gcr.io aloja las imágenes en los Estados Unidos.
      • us.gcr.io aloja las imágenes en los Estados Unidos, en un bloque independiente de almacenamiento de Google bucket a partir de imágenes alojadas por gcr.io.
      • eu.gcr.io aloja las imágenes dentro de estados miembros de la Unión Europea.
      • asia.gcr.io aloja las imágenes en Asia.
    • GCR_PROJECT por tu cuenta de Google Cloud para Container Registry ID del proyecto: Si el ID de tu proyecto contiene dos puntos (:), consulta Proyectos con alcance de dominio.

    • AR_PROJECT por el ID del proyecto de Google Cloud en el que habilitaste la API de Artifact Registry.

    • AR_REPOSITORY por el nombre de tu repositorio de Artifact Registry.

La herramienta de migración completa los siguientes pasos:

  • Crea el repositorio de Artifact Registry si aún no lo ha hecho. existen.
  • Sugiere una política de IAM para el repositorio y aplica el política u omite la aplicación según las preferencias del usuario.
  • Copia imágenes en la región de Container Registry especificada y proyecto a tu repositorio de Artifact Registry.

Si solo deseas copiar las imágenes que se extrajeron de Container Registry en los últimos 30 a 150 días, puedes incluir la marca --recent-images=DAYS. Reemplaza DAYS por la cantidad de días, entre 30 y 150, que la la herramienta debería verificar las extracciones dentro.

Si se producen errores o se agota el tiempo de espera, puedes volver a ejecutar el comando de manera segura. se omitirán los pasos completados.

Copiar imágenes

La herramienta de migración copia automáticamente tus imágenes de contenedor cuando la ejecutas, pero si quieres omitir todos los demás pasos de la migración automática y usar para copiar imágenes a Artifact Registry, puedes pasar el --copy-only marca.

Para copiar imágenes de Container Registry a un repositorio gcr.io alojado en Artifact Registry, ejecuta el siguiente comando:

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

Donde PROJECTS es el ID del proyecto único que deseas migrar a repositorios de gcr.io alojados en Artifact Registry o a una lista separada lista de los IDs de los proyectos que quieres migrar a los repositorios de gcr.io alojados en Artifact Registry.

La herramienta omite todos los pasos de migración y copia imágenes en las imágenes proyectos de Container Registry a los repositorios gcr.io alojados en Artifact Registry.

Para copiar imágenes de Container Registry a un repositorio estándar de Artifact Registry, Ejecuta el siguiente comando:

gcloud artifacts docker upgrade migrate \
    --from-gcr=GCR_HOSTNAME/GCR_PROJECT \
    --to-pkg-dev=AR_PROJECT/AR_REPOSITORY \
    --copy-only

Reemplaza lo siguiente:

  • GCR_HOSTNAME por el nombre de host de Container Registry. El nombre de host depende de la ubicación en la que se almacenan las imágenes de contenedor:

    • gcr.io aloja las imágenes en los Estados Unidos.
    • us.gcr.io aloja las imágenes en los Estados Unidos, en un bloque independiente de almacenamiento de Google bucket a partir de imágenes alojadas por gcr.io.
    • eu.gcr.io aloja las imágenes dentro de estados miembros de la Unión Europea.
    • asia.gcr.io aloja las imágenes en Asia.
  • GCR_PROJECT por tu cuenta de Google Cloud para Container Registry ID del proyecto: Si el ID de tu proyecto contiene dos puntos (:), consulta Proyectos con alcance de dominio.

  • AR_PROJECT por el ID del proyecto de Google Cloud en el que habilitaste la API de Artifact Registry.

  • AR_REPOSITORY por el nombre de tu repositorio de Artifact Registry.

La herramienta omite todos los pasos de migración y copia imágenes de las imágenes. y el proyecto en Container Registry a tu repositorio de Artifact Registry.

También puedes usar la marca --copy-only para reiniciar la copia de imágenes si tienes una o el tiempo de espera durante el proceso.

¿Qué sigue?