En este documento se describen los pasos necesarios para migrar de Container Registry a repositorios de pkg.dev
Artifact Registry.
La mayoría de los usuarios de Container Registry deberían migrar a los repositorios gcr.io
alojados en Artifact Registry, no a los repositorios pkg.dev
. Por lo tanto, sigue estas instrucciones solo si entiendes la diferencia entre los repositorios gcr.io
y los repositorios pkg.dev
en Artifact Registry.
La herramienta de migración automática puede realizar las siguientes acciones en función de la ruta de transición que elijas:
- Crea un repositorio
pkg.dev
en Artifact Registry para tu proyectogcr.io
en la región correspondiente. - Sugiere una política de gestión de identidades y accesos para el repositorio y aplica la política o salta la aplicación en función de las preferencias del usuario.
- Copia todas las imágenes de contenedor almacenadas en Container Registry en tu repositorio de Artifact Registry
pkg.dev
.
Antes de empezar
-
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.
Si te saltas este paso, la herramienta de migración automática te pedirá que habilites la API de Artifact Registry.
Roles obligatorios
Se necesitan los siguientes roles para todas las opciones de transición que usen la herramienta de migración automática.
Roles de cuenta de servicio:
Debes asignar los siguientes roles a la cuenta de servicio de Artifact Registry de cada proyecto que quieras migrar a Artifact Registry.
Para asegurarte de que la cuenta de servicio de Artifact Registry tiene los permisos necesarios para copiar imágenes de Container Registry a Artifact Registry, pide a tu administrador que conceda a la cuenta de servicio de Artifact Registry el rol de gestión de identidades y accesos Visor de objetos de Storage (roles/storage.objectViewer
) en el proyecto de Container Registry.
Es posible que tu administrador también pueda conceder los permisos necesarios a la cuenta de servicio de Artifact Registry mediante roles personalizados u otros roles predefinidos.
Roles de usuario:
Para obtener los permisos que necesitas para cambiar a los repositorios de pkg.dev
Artifact Registry, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de migración de Container Registry de Artifact Registry (roles/artifactregistry.containerRegistryMigrationAdmin
) en la organización o el proyecto de Google Cloud que quieras migrar.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
Migrar a repositorios de pkg.dev
Artifact Registry
Para migrar tu proyecto
gcr.io
a un repositoriopkg.dev
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
Haz los cambios siguientes:
GCR_HOSTNAME con el nombre de host de Container Registry. El nombre de host depende de dónde se almacenen las imágenes de contenedor:
gcr.io
aloja las imágenes en Estados Unidos.us.gcr.io
aloja las imágenes en Estados Unidos, en un segmento de almacenamiento independiente de las imágenes alojadas porgcr.io
.eu.gcr.io
aloja las imágenes en los Estados miembros de la Unión Europea.asia.gcr.io
aloja las imágenes en Asia.
GCR_PROJECT con el ID de proyecto Google Cloud de Container Registry. Si el ID de tu proyecto contiene dos puntos (
:
), consulta Proyectos con ámbito de dominio.AR_PROJECT por el ID del proyecto en el que has habilitado la API de Artifact Registry. Google Cloud
AR_REPOSITORY por el nombre del repositorio de Artifact Registry.
La herramienta de migración completa los siguientes pasos:
- Crea el repositorio de Artifact Registry si aún no existe.
- Sugiere una política de gestión de identidades y accesos para el repositorio y aplica la política o salta la aplicación en función de las preferencias del usuario.
- Copia las imágenes de la región y el proyecto de Container Registry especificados en tu repositorio de Artifact Registry.
Si solo quieres copiar las imágenes extraídas de Container Registry en los últimos 30-180 días, puedes incluir la marca --recent-images=DAYS
.
Sustituye DAYS por el número de días (entre 30 y 150) que debe comprobar la herramienta para las extracciones.
Si se producen errores o se agota el tiempo de espera, puedes volver a ejecutar el comando sin problemas y 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 saltarte todos los demás pasos de la migración automática y usar la herramienta para copiar imágenes en Artifact Registry, puedes usar la marca --copy-only
.
Para copiar imágenes de Container Registry en un repositorio de pkg.dev
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
Haz los cambios siguientes:
GCR_HOSTNAME con el nombre de host de Container Registry. El nombre de host depende de dónde se almacenen las imágenes de contenedor:
gcr.io
aloja las imágenes en Estados Unidos.us.gcr.io
aloja las imágenes en Estados Unidos, en un segmento de almacenamiento independiente de las imágenes alojadas porgcr.io
.eu.gcr.io
aloja las imágenes en los Estados miembros de la Unión Europea.asia.gcr.io
aloja las imágenes en Asia.
GCR_PROJECT con el ID de proyecto Google Cloud de Container Registry. Si el ID de tu proyecto contiene dos puntos (
:
), consulta Proyectos con ámbito de dominio.AR_PROJECT por el ID del proyecto en el que has habilitado la API de Artifact Registry. Google Cloud
AR_REPOSITORY por el nombre del repositorio de Artifact Registry.
La herramienta omite todos los pasos de migración y copia las imágenes de la ubicación y el proyecto especificados 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 se produce un error o un tiempo de espera durante el proceso.