Cómo migrar Container Registry a Artifac Registry en Google Cloud Platform

Publicado el 24.03.2024 a las 21:42

Cómo migrar Container Registry a Artifac Registry en Google Cloud Platform

  1. ¿Qué es Container Registry?

  2. ¿Qué es Artifac Registry?

  3. ¿Por qué migrar de Container Registry a Artifac Registry?

  4. ¿Cómo se migra?

    1. Instala Google Cloud CLI

    2. Otorgando permisos

    3. Crea repositiorios en Artifac Registry

    4. Copia las imágenes de Container Registry a Artifac Registry

Logo de fjmduran

Cómo migrar Container Registry a Artifac Registry en Google Cloud Platform

No dejes para mañana lo que puedas hacer hoy

Si tienes desplegado algún proyecto en Google Cloud Platform anterior al 8 de enero de 2024 y has usado su servicio de alojamiento de archivos seguro que has recibido un email esta semana como yo.


email google cloud container registy deprecado

Pero no es el primero que Google me envía por este motivo, ya el año pasado, el 17 de mayo de 2023 me envió el primero relacionado con este tema donde incluso me informaban del ID de proyecto afectado.

email google cloud container registy deprecado

Total, que ayer me decidí a migrar a los nuevos contenedores que recomienda Google.


Al turrón.

¿Qué es Google Cloud Container Registry?

Google Cloud Container Registry es es una solución integral para almacenar y gestionar imágenes de contenedores Docker en la nube, lo que facilita el desarrollo, la implementación y la administración de aplicaciones basadas en contenedores en Google Cloud Platform.

¿Qué es Artifac Registry?

Antes de decirte qué es Artifac Registry de Google Cloud Platform te diré que un artefacto en el contexto del desarrollo de software es cualquier elemento generado o producido durante el proceso de desarrollo de software como una librería NPM, un repositorio MAVEN, un contenedor Docker...


Artifact Registry es un servicio integral de almacenamiento de artefactos que proporciona una solución unificada para almacenar, gestionar y distribuir paquetes de software en la nube, lo que facilita el desarrollo y la implementación de aplicaciones en Google Cloud Platform.


A diferencia del Container Registry, que está diseñado específicamente para contenedores Docker, Artifact Registry es más amplio admitiendo varios formatos de artefactos.

¿Por qué migrar de Container Registry a Artifac Registry?

Porque a partir del 22 de abril de 2025 ya no tendrás acceso a tus imágenes en Container Registry, Google lo ha marcado como obsoleto.

¿Cómo se migra de Container Registry a Artifac Registry?

En la documentación oficial de Google sobre opciones para migrar de Container Registry a Artifac Registry te voy a explicar la opción de transición a repositorios compatibles con el dominio gcr.io.


He elegido esta opción porque minimiza los pasos y automatiza la transición de imágenes a Artifac Registry.

Instala Google Cloud CLI

Abre una consola de PowerShell con privilegios de administrador y ejecuta:

(New-Object Net.WebClient).DownloadFile("https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe", "$env:Temp\GoogleCloudSDKInstaller.exe") & $env:Temp\GoogleCloudSDKInstaller.exe
      
instalando google cloud CLI

Otorgando permisos para crear y manipular los contenedores en Artifac Registry.

Ejecuta:

gcloud projects add-iam-policy-binding TU_ID_PROYECTO --member=user:fjmartinezduran@gmail.com --role=roles/artifactregistry.admin
    
gcloud projects add-iam-policy-binding TU_ID_PROYECTO --member=user:fjmartinezduran@gmail.com --role=roles/storage.admin
    
gcloud projects add-iam-policy-binding TU_ID_PROYECTO --member=user:fjmartinezduran@gmail.com --role=roles/storage.admin 
    
gcloud projects add-iam-policy-binding TU_ID_PROYECTO --member=serviceAccount:service-100029965844@gcp-sa-artifactregistry.iam.gserviceaccount.com --role=roles/storage.objectViewer
    

Crea repositiorios en Artifac Registry

Ejecutando la siguiente instrucción Google Cloud creará los repositorios necesarios en Artifac Registy

gcloud artifacts docker upgrade migrate --projects=TU_ID_PROYECTO     
      
creando repositorios en artifac registry

Copia las imágenes de Container Registry a Artifac Registry

gcloud artifacts docker upgrade migrate --projects=TU_ID_PROYECTO --copy-only
  

Hasta luego 🖖