Configura repositorios compatibles con el dominio gcr.io

Artifact Registry puede alojar tus imágenes de Container Registry existentes y redireccionar automáticamente las solicitudes para los hosts gcr.io a los repositorios correspondientes de Artifact Registry. El redireccionamiento te permite seguir usando rutas de imágenes con el dominio gcr.io en la automatización y los flujos de trabajo existentes.

Antes de comenzar

  1. Instala Google Cloud CLI si aún no está instalada. En una instalación existente, ejecuta el siguiente comando para actualizar los componentes a las versiones más recientes:

    gcloud components update
    
  2. Habilita las APIs de Artifact Registry y Resource Manager. gcloud CLI usa la API de Resource Manager para verificar uno de los permisos necesarios.

    Ejecuta el siguiente comando:

    gcloud services enable \
        cloudresourcemanager.googleapis.com \
        artifactregistry.googleapis.com
    
  3. Obtén más información sobre los pricing de Artifact Registry antes de comenzar la transición.

Funciones obligatorias

A fin de obtener los permisos que necesitas para configurar los repositorios de gcr.io, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto de Google Cloud:

  • Para crear repositorios de Artifact Registry y otorgar acceso a repositorios individuales, haz lo siguiente: Administrador de Artifact Registry (roles/artifactregistry.admin)
  • Para ver y administrar la configuración existente de Container Registry aplicada a los buckets de almacenamiento de Cloud Storage, haz lo siguiente: Administrador de Storage (roles/storage.admin)
  • Para crear un repositorio de gcr.io la primera vez que envías una imagen a un nombre de host de gcr.io, sigue estos pasos: Escritor Create-on-push de Artifact Registry (roles/artifactregistry.createOnPushWriter)
  • Para otorgar acceso al repositorio a nivel de proyecto, haz lo siguiente: Administrador de IAM del proyecto (roles/resourcemanager.projectIamAdmin) o una función que incluya permisos equivalentes, como Administrador de carpetas (roles/resourcemanager.folderAdmin) o Administrador de la organización (roles/resourcemanager.organizationAdmin)

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

Es posible que también puedas obtener los permisos necesarios mediante funciones personalizadas, o bien otras funciones predefinidas.

Limitaciones

Las siguientes limitaciones se aplican a los repositorios compatibles con el dominio gcr.io:

  • No puedes asignar un host de Container Registry a un repositorio de Artifact Registry en un proyecto diferente.
  • Cada nombre de host de Container Registry se asigna a un solo repositorio gcr.io de Artifact Registry correspondiente en la misma multirregión.
  • Los nombres de los repositorios de gcr.io están predefinidos y no puedes modificarlos.

Si necesitas más control sobre la ubicación de los repositorios, puedes realizar la transición a los repositorios estándar en el dominio pkg.dev de Artifact Registry. Dado que los repositorios estándar no tienen ningún tipo de compatibilidad con el dominio gcr.io, este enfoque de transición requiere más cambios en la automatización y los flujos de trabajo existentes. Consulta Elige una opción de transición para obtener información sobre las diferencias entre las funciones.

Crea repositorios

Crea repositorios de gcr.io a fin de configurar el acceso de tus usuarios y copiar las imágenes de Container Registry existentes a Artifact Registry antes de habilitar el redireccionamiento.

Creación rápida de repositorios

Mediante estos pasos, se crean repositorios de gcr.io que se encriptan con claves de encriptación administradas por Google. Si deseas usar claves de encriptación administradas por el cliente (CMEK), debes crear repositorios de forma manual.

Para crear repositorios de gcr.io, haz lo siguiente:

  1. Abre la página Repositorios en la consola de Google Cloud.

    Abrir la página Repositorios

    En la página, un banner muestra el mensaje You have gcr.io repositories in Container Registry.

    Abrir la página Configuración

  2. En el banner, haz clic en Crear repositorios de gcr.io.

    Se abrirá el panel Crear repositorios de gcr.io. En la sección Copia de imágenes, se enumeran los nombres completos de cada repositorio que se creará. Necesitarás estos nombres de repositorio si deseas copiar imágenes de Container Registry antes de activar el redireccionamiento.

  3. Haz clic en Crear.

Artifact Registry crea repositorios de gcr.io para todos los nombres de host de Container Registry:

Nombre de host de Container Registry Nombre del repositorio de Artifact Registry
gcr.io gcr.io
asia.gcr.io asia.gcr.io
eu.gcr.io eu.gcr.io
us.gcr.io us.gcr.io

Para ver rápidamente la URL de Artifact Registry del repositorio, coloca el cursor sobre el ícono de advertencia ( ) junto al nombre del repositorio.

Antes de redireccionar el tráfico a tus repositorios nuevos, debes asegurarte de que la automatización existente pueda acceder al repositorio. El siguiente paso es configurar los permisos para otorgar acceso a los repositorios.

Creación manual de repositorios

Crea repositorios de gcr.io de forma manual si deseas usar claves de encriptación administradas por el cliente (CMEK) para encriptar el contenido del repositorio o si hay una restricción de ubicación en tu organización de Google Cloud que bloquee la creación de recursos nuevos en ubicaciones específicas.

Sigue estos pasos para crear un repositorio de gcr.io de forma manual:

  1. Si usas CMEK, crea la clave que usarás con este repositorio y otorga permisos para usarla. Consulta Habilita claves de encriptación administradas por el cliente.

  2. Agrega el repositorio.

    Consola

    1. Abre la página Repositorios en la consola de Google Cloud.

      Abrir la página Repositorios

    2. Haz clic en Crear repositorio.

    3. Especifica el nombre del repositorio.

      Nombre de host de Container Registry Nombre del repositorio de Artifact Registry
      gcr.io gcr.io
      asia.gcr.io asia.gcr.io
      eu.gcr.io eu.gcr.io
      us.gcr.io us.gcr.io
    4. Especifica Docker como el formato del repositorio.

    5. En Tipo de ubicación, especifica la multirregión para el repositorio:

      Nombre de host de Container Registry Ubicación del repositorio de Artifact Registry
      gcr.io us
      asia.gcr.io asia
      eu.gcr.io europe
      us.gcr.io us
    6. Agrega una descripción para el repositorio. No incluyas datos sensibles, ya que las descripciones de los repositorios no están encriptadas.

    7. En la sección Encriptación, elige el mecanismo de encriptación para el repositorio.

      • Clave administrada por Google: Encripta el contenido de un repositorio mediante una clave de encriptación administrada por Google.
      • Clave administrada por el cliente: Encripta el contenido de un repositorio mediante una clave que controlas a través de Cloud Key Management Service. Si deseas obtener instrucciones para la configuración de claves, consulta Configura CMEK para repositorios.
    8. Haz clic en Crear.

    gcloud

    Ejecuta el siguiente comando para crear un repositorio nuevo.

    gcloud artifacts repositories create REPOSITORY \
        --repository-format=docker \
        --location=LOCATION \
        --description=DESCRIPTION \
        --kms-key=KMS-KEY
    

    Reemplaza los siguientes valores:

    • REPOSITORY es el nombre del repositorio.

      Nombre de host de Container Registry Nombre del repositorio de Artifact Registry
      gcr.io gcr.io
      asia.gcr.io asia.gcr.io
      eu.gcr.io eu.gcr.io
      us.gcr.io us.gcr.io
    • LOCATION es la multirregión para el repositorio:

      Nombre de host de Container Registry Ubicación del repositorio de Artifact Registry
      gcr.io us
      asia.gcr.io asia
      eu.gcr.io europe
      us.gcr.io us
    • DESCRIPTION es una descripción del repositorio. No incluyas datos sensibles, ya que las descripciones de los repositorios no están encriptadas.

    • KMS-KEY es la ruta completa a la clave de encriptación de Cloud KMS, si usas una clave de encriptación administrada por el cliente para encriptar el contenido del repositorio. La ruta tiene el siguiente formato:

      projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
      

      Reemplaza los siguientes valores:

      • KMS-PROJECT es el proyecto en el que se almacena tu clave.
      • KMS-LOCATION es la ubicación de la clave.
      • KEY-RING es el nombre del llavero de claves.
      • KEY es el nombre de la clave.

    Puedes confirmar que el repositorio se cree. Para ello, enumera tus repositorios con el siguiente comando:

    gcloud artifacts repositories list
    

Antes de redireccionar el tráfico a tus repositorios nuevos, debes asegurarte de que la automatización existente pueda acceder al repositorio. El siguiente paso es configurar los permisos para otorgar acceso a los repositorios.

Otorga permisos a los repositorios

Container Registry usa funciones de Cloud Storage para controlar el acceso. Artifact Registry tiene sus propias funciones de IAM, que separan las funciones de lectura, escritura y administración de repositorios con mayor claridad que Container Registry.

Usa la herramienta de asignación de funciones para asignar con rapidez los permisos existentes otorgados en los buckets de almacenamiento a los roles sugeridos de Artifact Registry.

Como alternativa, puedes ver una lista de las principales con acceso a los buckets de almacenamiento mediante la consola de Google Cloud.

  1. En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.

    Ir a Buckets

  2. Haz clic en el bucket de almacenamiento del host de registro que deseas ver. En los nombres de bucket, PROJECT-ID es el ID del proyecto de Google Cloud.

    • gcr.io: artifacts.PROJECT-ID.appspot.com
    • asia.gcr.io: asia.artifacts.PROJECT-ID.appspot.com
    • eu.gcr.io: eu.artifacts.PROJECT-ID.appspot.com
    • us.gcr.io: us.artifacts.PROJECT-ID.appspot.com
  3. Haz clic en la pestaña Permisos.

  4. En la pestaña Permisos, haz clic en la pestaña secundaria Ver por función.

  5. Expande un rol para ver las principales que tienen ese rol.

La lista incluye las funciones de IAM otorgadas directamente en el bucket y las funciones heredadas del proyecto superior. Según el rol, puedes elegir el rol de Artifact Registry más apropiado para otorgarlo.

Cloud Storage y roles básicos

Otorga acceso a los repositorios de Artifact Registry a los usuarios y las cuentas de servicio que actualmente acceden a Container Registry. Para las funciones de Cloud Storage heredadas del proyecto superior, debes verificar que la principal use Container Registry en la actualidad. Es posible que algunas principales solo accedan a otros buckets de Cloud Storage que no están relacionados con Container Registry.

Las funciones básicas de propietario, editor y visualizador que existían antes de IAM tienen acceso limitado a los buckets de almacenamiento. No otorgan de forma intrínseca todo el acceso a los recursos de Cloud Storage que implican sus nombres y proporcionan permisos adicionales para otros servicios de Google Cloud. Verifica qué usuarios y cuentas de servicio requieren acceso a Artifact Registry y usa la tabla de asignación de funciones para otorgar los roles correctos si el acceso a Artifact Registry es apropiado.

En la siguiente tabla, se asignan las funciones de Artifact Registry según los permisos que otorgan las funciones predefinidas de Cloud Storage para el acceso a Container Registry.

Acceso obligatorio Rol actual Rol de Artifact Registry Dónde otorgar el rol
Extraer imágenes únicamente (solo lectura) Visualizador de objetos de Storage
(roles/storage.objectViewer)
Lector de Artifact Registry
(roles/artifactregistry.reader)
Repositorio de Artifact Registry o proyecto de Google Cloud
  • Envía y extrae imágenes (lectura y escritura)
  • Borrar imágenes
Escritor de buckets heredados de almacenamiento
(roles/storage.legacyBucketWriter)
Administrador del repositorio de Artifact Registry
(roles/artifactregistry.repoAdmin)
Repositorio de Artifact Registry o proyecto de Google Cloud
Crea un repositorio de gcr.io en Artifact Registry la primera vez que se envía una imagen a un nombre de host de gcr.io en un proyecto. Administrador de almacenamiento
(roles/storage.admin)
Administrador del repositorio Create-on-push de Artifact Registry
(roles/artifactregistry.createOnPushRepoAdmin)
Proyecto de Google Cloud
Crea, administra y borra repositorios Administrador de almacenamiento
(roles/storage.admin)
Administrador de Artifact Registry
(roles/artifactregistry.Admin)
Proyecto de Google Cloud
Roles de agente de servicio heredados del proyecto

Las cuentas de servicio predeterminadas para los servicios de Google Cloud tienen sus propias funciones otorgadas a nivel de proyecto. Por ejemplo, el agente de servicio para Cloud Run tiene la función de agente de servicio de Cloud Run.

En la mayoría de los casos, estos roles de agente de servicio contienen permisos predeterminados equivalentes para Container Registry y Artifact Registry, y no es necesario que realices ningún cambio adicional si ejecutas Artifact Registry en el mismo proyecto que tu servicio de Container Registry existente.

Consulta la referencia de función de agente de servicio para obtener detalles sobre los permisos en las funciones de agente de servicio.

Roles personalizados

Usa la tabla de asignación de funciones para decidir qué función otorgar a los usuarios o cuentas de servicio según el nivel de acceso que requieren.

Para obtener instrucciones sobre cómo otorgar roles de Artifact Registry, consulta Configura funciones y permisos.

Copiar contenedores desde Container Registry

Copia las imágenes existentes de Container Registry a Artifact Registry. El método más rápido y económico es copiar imágenes con gcrane.

Para copiar imágenes, haz lo siguiente:

  1. Descarga gcrane y extrae la herramienta del archivo. Se requiere la versión 0.10.0 o una posterior. Para verificar la versión de una instalación de gcrane existente, ejecuta el siguiente comando:

    gcrane version
    
  2. Otorga a la cuenta de servicio administrada por Google de Artifact Registry el rol de visualizador de objetos de Storage (roles/storage.objectViewer) para que pueda leer los buckets de almacenamiento con nuestras imágenes de Container Registry. Puedes quitar esta función cuando ya no necesites copiar imágenes de Container Registry.

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-artifactregistry.iam.gserviceaccount.com' \
        --role='roles/storage.objectViewer'
    

    Reemplaza PROJECT_ID por el ID del proyecto y PROJECT_NUMBER por el número del proyecto de Google Cloud en el que se ejecutan Container Registry y Artifact Registry.

  3. Ejecuta los comandos para copiar imágenes:

    Para gcr.io:

    gcrane cp -r gcr.io/PROJECT_ID us-docker.pkg.dev/PROJECT_ID/gcr.io
    

    Para asia.gcr.io:

    gcrane cp -r asia.gcr.io/PROJECT_ID asia-docker.pkg.dev/PROJECT_ID/asia.gcr.io
    

    Para eu.gcr.io:

    gcrane cp -r eu.gcr.io/PROJECT_ID europe-docker.pkg.dev/PROJECT_ID/eu.gcr.io
    

    Para us.gcr.io:

    gcrane cp -r us.gcr.io/PROJECT_ID us-docker.pkg.dev/PROJECT_ID/us.gcr.io
    

Cuando termines de copiar imágenes en Artifact Registry, puedes quitar el rol de visualizador de objetos de Storage de la cuenta de servicio de Artifact Registry con el siguiente comando:

gcloud projects remove-iam-policy-binding PROJECT_ID \
    --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-artifactregistry.iam.gserviceaccount.com' \
    --role='roles/storage.objectViewer'

Cómo configurar otras funciones

En esta sección, se describe la configuración de otras funciones que quizás estableciste en Container Registry.

Artifact Analysis

Artifact Analysis admite Container Registry y Artifact Registry. Ambos productos usan las mismas API de Artifact Analysis para los metadatos de imágenes y el análisis de vulnerabilidades, y los mismos temas de Pub/Sub para las notificaciones de Artifact Analysis.

Sin embargo, las siguientes acciones solo ocurren cuando el redireccionamiento está habilitado:

  • Análisis automático de repositorios de gcr.io en Artifact Registry.
  • Incluye la actividad del repositorio de gcr.io en las notificaciones de Pub/Sub.

Puedes seguir usando los comandos de gcloud container images para enumerar notas y casos asociados con rutas de acceso de imagen gcr.io.

Container Registry Artifact Registry
Analiza las vulnerabilidades de los paquetes de lenguaje y SO con el análisis a pedido en imágenes con un SO compatible. El análisis automático solo muestra información sobre las vulnerabilidades del SO. Obtén más información sobre los tipos de análisis.
Análisis a pedido
Búsqueda automática
  • El comando gcloud container images de Google Cloud CLI incluye marcas para ver los resultados del análisis, incluidas las vulnerabilidades y otros metadatos.
  • Los análisis solo muestran información de vulnerabilidad del SO en imágenes en Container Registry con sistemas operativos compatibles.
Realiza análisis en busca de vulnerabilidades de SO y paquetes de idioma con análisis automático y según demanda. Obtén más información sobre los tipos de análisis.
Análisis a pedido
Búsqueda automática
  • El comando gcloud artifact docker images de Google Cloud CLI incluye marcas para ver los resultados del análisis, incluidas las vulnerabilidades y otros metadatos.
  • Los análisis muestran información sobre las vulnerabilidades del SO de las imágenes en Artifact Registry con los sistemas operativos compatibles y la información de vulnerabilidad del paquete de lenguaje en los sistemas operativos compatibles y no compatibles.

Notificaciones de Pub/Sub

Artifact Registry publica cambios en el mismo tema gcr que Container Registry. No se requiere ninguna configuración adicional si ya usas Pub/Sub con Container Registry en el mismo proyecto que Artifact Registry. Sin embargo, Artifact Registry no publica mensajes para los repositorios de gcr.io hasta que habilites el redireccionamiento.

Si configuras Artifact Registry en un proyecto diferente, es posible que el tema gcr no exista. Para obtener instrucciones de configuración, consulta Configura notificaciones de Pub/Sub.

Habilitar el redireccionamiento del tráfico de gcr.io

Después de crear los repositorios de gcr.io y configurar los permisos y la autenticación para tus clientes de terceros, puedes habilitar el redireccionamiento del tráfico gcr.io.

Si encuentras un problema después de habilitar el redireccionamiento, puedes enrutar el tráfico de vuelta a Container Registry y, luego, volver a activar el redireccionamiento cuando hayas solucionado el problema.

Verifica los permisos para habilitar el redireccionamiento

Para habilitar el redireccionamiento, debes tener estos permisos en el nivel del proyecto:

  • artifactregistry.projectsettings.update: Permisos para actualizar la configuración del proyecto de Artifact Registry. Este permiso se encuentra en la función de administrador de Artifact Registry (roles/artifactregistry.admin).
  • storage.buckets.update: permisos para actualizar buckets de almacenamiento en todo el proyecto Este permiso se encuentra en la función de administrador de almacenamiento (roles/storage.admin).

Si no tienes estos permisos, solicita a un administrador que los otorgue a nivel de proyecto.

Los siguientes comandos otorgan los roles de administrador de Artifact Registry y Administrador de almacenamiento en un proyecto.

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='user:PRINCIPAL' \
    --role='roles/artifactregistry.admin'

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='user:PRINCIPAL' \
    --role='roles/storage.admin'

Reemplaza los siguientes valores:

  • PROJECT_ID es el ID del proyecto de Google Cloud.
  • PRINCIPAL es la dirección de correo electrónico de la cuenta que estás actualizando. Por ejemplo, user:my-user@example.com.

Valida la configuración del proyecto

Para validar la configuración de tu proyecto, ejecuta el siguiente comando:

gcloud artifacts settings enable-upgrade-redirection \
    --project=PROJECT_ID --dry-run

Reemplaza PROJECT_ID por el ID del proyecto de Google Cloud.

Artifact Registry verifica los repositorios que se asignan a los nombres de host de Container Registry.

Aunque Artifact Registry puede crear los repositorios de gcr.io faltantes cuando habilitas el redireccionamiento, te recomendamos que los crees primero para que puedas realizar estas acciones antes de activar el redireccionamiento:

Cómo activar el redireccionamiento

A fin de activar el redireccionamiento para el tráfico de gcr.io, sigue estos pasos:

Consola

  1. Abre la página Configuración de la consola de Google Cloud.

    Abrir la página Configuración

  2. Haz clic en Enruta a Artifact Registry.

gcloud

Para habilitar el redireccionamiento, ejecuta el siguiente comando:

gcloud artifacts settings enable-upgrade-redirection \
    --project=PROJECT_ID

Reemplaza PROJECT_ID por el ID del proyecto de Google Cloud.

Artifact Registry comenzará a activar el redireccionamiento.

Para verificar el estado actual del redireccionamiento, ejecuta el siguiente comando:

gcloud artifacts settings describe

Cuando el redireccionamiento está habilitado, el resultado es el siguiente:

legacyRedirectionState: REDIRECTION_FROM_GCR_IO_ENABLED

Todo el tráfico a gcr.io, asia.gcr.io, eu.gcr.io y us.gcr.io se redirecciona, incluso si no creaste repositorios de gcr.io para todos los nombres de host de Container Registry. Si envías una imagen a un nombre de host que no tiene un repositorio de Artifact Registry correspondiente, Artifact Registry crea el repositorio si tienes una función con el permiso artifactregistry.repositories.createOnPush. Las funciones predefinidas de Escritor de Create-on-push (artifactregistry.createOnPushWriter) y Administrador de repositorios de Create-on-push (artifactregistry.createOnPushRepoAdmin) tienen este permiso.

Con el redireccionamiento habilitado, puedes probar la automatización y verificar que puedes enviar y extraer imágenes con tus repositorios de gcr.io nuevos. Si es necesario, puedes redireccionar el tráfico de vuelta a Container Registry y, luego, volver a habilitar el redireccionamiento cuando estés listo para continuar con la prueba.

Enruta el tráfico de vuelta a Container Registry

Si es necesario, puedes enrutar el tráfico gcr.io a Container Registry. Puedes volver a enable el redireccionamiento cuando estés listo.

Consola

  1. Abre la página Configuración de la consola de Google Cloud.

    Abrir la página Configuración

  2. Haz clic en Enruta a Container Registry.

gcloud

  1. Ejecuta el siguiente comando:

    gcloud artifacts settings disable-upgrade-redirection \
        --project=PROJECT_ID
    

    Reemplaza PROJECT_ID por el ID del proyecto de Google Cloud.

    Artifact Registry te solicita que confirmes.

  2. Para confirmar el redireccionamiento a Container Registry, ingresa y.

Verifica el redireccionamiento

Verifica que las solicitudes de extracción y envío a los nombres de host de gcr.io funcionen correctamente.

  1. Envía una imagen de prueba a uno de tus repositorios de gcr.io mediante su ruta de acceso gcr.io.

    1. Etiqueta la imagen con la ruta gcr.io. Por ejemplo, este comando etiqueta la imagen local-image como us.gcr.io/my-project/test-image:

      docker tag local-image us.gcr.io/my-project/test-image
      
    2. Envía la imagen que etiquetaste. Por ejemplo, este comando envía la imagen us.gcr.io/my-project/test-image:

      docker push us.gcr.io/my-project/test-image
      
  2. Enumera las imágenes en el repositorio para verificar que se hayan subido de forma correcta. Por ejemplo, para mostrar una lista de imágenes en us.gcr.io/my-project, ejecuta el siguiente comando:

    gcloud container images list --repository=us.gcr.io/my-project
    
  3. Extrae la imagen del repositorio mediante la ruta de acceso de Container Registry. Por ejemplo, este comando extrae la imagen us.gcr.io/my-project/test-image.

    docker pull us.gcr.io/my-project/test-image
    

Después de esta prueba inicial, verifica que la automatización existente para compilar y, luego, implementar imágenes funcione como se espera, incluidas las siguientes acciones:

  • Los usuarios y las cuentas de servicio que usan Container Registry aún pueden enviar, extraer e implementar imágenes cuando el redireccionamiento está habilitado.
  • Tu automatización solo envía imágenes a los repositorios existentes.
  • Si el análisis de vulnerabilidades de Artifact Analysis está habilitado, el análisis identifica las imágenes con vulnerabilidades en los repositorios de gcr.io.
  • Si usas la autorización binaria, tus políticas existentes funcionan de forma correcta para las imágenes implementadas desde los repositorios de gcr.io.
  • Las suscripciones a Pub/Sub configuradas incluyen notificaciones de cambios en tus repositorios de gcr.io.

Limpia imágenes de Container Registry

Cuando el redireccionamiento está habilitado, los comandos para borrar imágenes en las rutas de acceso gcr.io borran las imágenes en el repositorio gcr.io correspondiente de Artifact Registry. No borran las imágenes almacenadas en los hosts de Container Registry. Para quitar de forma segura todas las imágenes de Container Registry, borra los buckets de Cloud Storage de cada nombre de host de Container Registry.

Para borrar cada bucket de almacenamiento de Container Registry, haz lo siguiente:

Consola

  1. Ve a la página de Cloud Storage en la consola de Google Cloud.
  2. Selecciona el bucket de almacenamiento que quieres borrar. En los nombres de bucket, PROJECT-ID es el ID del proyecto de Google Cloud.

    • gcr.io: artifacts.PROJECT-ID.appspot.com
    • asia.gcr.io: asia.artifacts.PROJECT-ID.appspot.com
    • eu.gcr.io: eu.artifacts.PROJECT-ID.appspot.com
    • us.gcr.io: us.artifacts.PROJECT-ID.appspot.com
  3. Haz clic en Borrar. Aparecerá un cuadro de diálogo de confirmación.

  4. Para confirmar la eliminación, ingresa el nombre del bucket y, luego, haz clic en Borrar.

gsutil

Si deseas borrar de forma masiva cien mil o más imágenes de un bucket, evita usar gsutil, ya que el proceso de eliminación tarda mucho tiempo en completarse. En su lugar, usa la consola de Google Cloud para realizar la operación.

Para borrar un bucket, usa el comando gsutil rm con la marca -r.

gsutil rm -r gs://BUCKET-NAME

Reemplaza BUCKET-NAME por el nombre del bucket de almacenamiento de Container Registry. En los nombres de bucket, PROJECT-ID es el ID del proyecto de Google Cloud.

  • gcr.io: artifacts.PROJECT-ID.appspot.com
  • asia.gcr.io: asia.artifacts.PROJECT-ID.appspot.com
  • eu.gcr.io: eu.artifacts.PROJECT-ID.appspot.com
  • us.gcr.io: us.artifacts.PROJECT-ID.appspot.com

La respuesta se ve como el siguiente ejemplo:

Removing gs://artifacts.my-project.appspot.com/...

Si otros servicios de Google Cloud se ejecutan en el mismo proyecto de Google Cloud, deja habilitada la API de Container Registry. Si intentas inhabilitar la API de Container Registry Container Registry muestra una advertencia si otros servicios con una dependencia configurada están habilitados en el proyecto. Si inhabilitas la API de Container Registry, se inhabilitarán automáticamente todos los servicios en el mismo proyecto que tengan una dependencia configurada, incluso si actualmente no usas Container Registry con esos servicios.

¿Qué sigue?