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.
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.
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
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
Copia las imágenes de Container Registry a Artifac Registry
gcloud artifacts docker upgrade migrate --projects=TU_ID_PROYECTO --copy-only
Hasta luego 🖖