Caché de artefacto: información general

La característica Cache de artefacto permite a los usuarios almacenar en caché imágenes de contenedor en un registro de contenedor privado. Cache de artefacto está disponible en los niveles de servicioBásico, Estándary Premium.

Este artículo es la primera parte de una serie de tutoriales de seis partes. El tutorial abarca lo siguiente:

  1. Caché de artefacto
  2. Habilitación de la cache de artefacto: Azure Portal
  3. Habilitación de la cache de artefacto con la autenticación: Azure Portal
  4. Habilitación de la cache de artefacto: CLI de Azure
  5. Habilitación de la cache de artefacto con la autenticación: CLI de Azure
  6. Guía de solución de problemas de Caché de artefacto

Caché de artefacto

Cache de artefacto le permite almacenar en caché imágenes de contenedor de repositorios públicos y privados.

La implementación de Cache de artefacto proporciona las siguientes ventajas:

Operaciones de extracción más fiables: las extracción más rápidas de imágenes de contenedor se pueden lograr mediante el almacenamiento en caché de las imágenes de contenedor en ACR. Dado que Microsoft administra la red de Azure, las operaciones de extracción son más rápidas al proporcionar compatibilidad con replicación geográfica y zonas de disponibilidad a los clientes.

Redes privadas: Los registros almacenados en caché están disponibles en redes privadas. Por lo tanto, los usuarios pueden configurar su firewall para cumplir los estándares de cumplimiento.

Garantizar que el contenido ascendente se entregue: Todos los registros, especialmente los públicos, como Docker Hub y otros, tienen límites de extracción anónimos para garantizar que puedan prestar servicios a todos. Cache de artefacto permite a los usuarios extraer imágenes del ACR local en lugar del registro ascendente. Cache de artefacto garantiza la entrega de contenido ascendente y que los usuarios obtienen la ventaja de extraer las imágenes de contenedor de la caché sin contar para los límites de extracción.

Terminología

  • Regla de caché: Una regla de caché es una regla que puede crear para extraer artefactos de un repositorio compatible en la memoria caché.

    • Una regla de caché contiene cuatro partes:

      1. Nombre de la regla: El nombre de la regla de caché. Por ejemplo: Hello-World-Cache.

      2. Origen: El nombre del registro de origen.

      3. Ruta de acceso del repositorio: Ruta de acceso de origen del repositorio para buscar y recuperar artefactos que desea almacenar en caché. Por ejemplo: docker.io/library/hello-world.

      4. Nuevo espacio de nombres del repositorio de ACR: El nombre de la nueva ruta de acceso del repositorio para almacenar artefactos. Por ejemplo: hello-world. El repositorio todavía no puede existir dentro de la instancia de ACR.

  • Credenciales

    • Las credenciales son un conjunto de nombre de usuario y contraseña para el registro de origen. Necesita credenciales para autenticarse en un repositorio público o privado. Las credenciales contienen cuatro partes:

      1. Credenciales: El nombre de las credenciales.

      2. Servidor de inicio de sesión del registro de origen: El servidor de inicio de sesión del registro de origen.

      3. Autenticación de origen: Las ubicaciones del almacén de claves para almacenar las credenciales.

      4. Secretos de nombre de usuario y contraseña: Los secretos que contienen el nombre de usuario y la contraseña.

Limitaciones

  • El almacenamiento en caché solo se producirá después de que se complete al menos una extracción de imagen en el contenedor disponible. Para cada nueva imagen disponible, se debe completar una nueva extracción de imagen. Cache de artefacto no extrae automáticamente nuevas etiquetas de imágenes cuando hay disponible una etiqueta nueva. Está en la hoja de ruta, pero no se admite en esta versión.

  • Cache de artefacto solo admite 1000 reglas de caché.

Compatibilidad ascendente

La caché de artefacto admite actualmente los siguientes registros ascendentes:

Registros ascendentes Soporte técnico Disponibilidad
Docker Hub Admite tanto las extracciones autenticadas como las no autenticadas. CLI de Azure, Azure Portal
Registro de artefactos Microsoft Solo admite extracciones no autenticadas. CLI de Azure, Azure Portal
Público de ECR Solo admite extracciones no autenticadas. CLI de Azure, Azure Portal
Registro de contenedores de GitHub Admite tanto las extracciones autenticadas como las no autenticadas. CLI de Azure, Azure Portal
Nvidia Admite tanto las extracciones autenticadas como las no autenticadas. CLI de Azure
Quay Admite tanto las extracciones autenticadas como las no autenticadas. CLI de Azure, Azure Portal
registry.k8s.io Admite tanto las extracciones autenticadas como las no autenticadas. CLI de Azure
Container Registry de Google Admite tanto las extracciones autenticadas como las no autenticadas. CLI de Azure

Comodines

El carácter comodín usa asteriscos (*) para buscar coincidencias con varias rutas de acceso dentro del registro de imágenes de contenedor. La caché de artefacto admite actualmente los siguientes registros ascendentes:

Nota:

La asignación de reglas de caché del repositorio de destino => repositorio de origen.

Carácter comodín de nivel del registro

El carácter comodín de nivel del registro permite almacenar en caché todos los repositorios de un registro ascendente.

Regla de caché Asignación Ejemplo
contoso.azurecr.io/* => mcr.microsoft.com/* Asignación de todas las imágenes de ACR a MCR. contoso.azurecr.io/myapp/image1 => mcr.microsoft.com/myapp/image1
contoso.azurecr.io/myapp/image2 => mcr.microsoft.com/myapp/image2

Carácter comodín de nivel de repositorio

El carácter comodín de nivel de repositorio permite almacenar en caché todos los repositorios de una asignación ascendente del registro al prefijo del repositorio.

Regla de caché Asignación Ejemplo
contoso.azurecr.io/dotnet/* => mcr.microsoft.com/dotnet/* Asignación de repositorios específicos en ACR a los repositorios correspondientes en MCR. contoso.azurecr.io/dotnet/sdk => mcr.microsoft.com/dotnet/sdk
contoso.azurecr.io/dotnet/runtime => mcr.microsoft.com/dotnet/runtime
contoso.azurecr.io/library/dotnet/* => mcr.microsoft.com/dotnet/*
contoso.azurecr.io/library/python/* => docker.io/library/python/*
Asignación de repositorios específicos en ACR a repositorios de diferentes registros ascendentes. contoso.azurecr.io/library/dotnet/app1 => mcr.microsoft.com/dotnet/app1
contoso.azurecr.io/library/python/app3 => docker.io/library/python/app3

Limitaciones de las reglas de caché basadas en caracteres comodín

Las reglas de caché con caracteres comodín usan asteriscos (*) para buscar coincidencias con varias rutas de acceso dentro del registro de imágenes de contenedor. Estas reglas no se pueden superponer con otras reglas de caché con caracteres comodín. En otras palabras, si tiene una regla de caché con caracteres comodín para una determinada ruta de acceso del registro, no puede agregar otra regla de caracteres comodín que se superponga con ella.

Estos son algunos ejemplos de reglas superpuestas:

Ejemplo 1:

Regla de caché existente: contoso.azurecr.io/* => mcr.microsoft.com/*
Nueva caché que se va a agregar: contoso.azurecr.io/library/* => docker.io/library/*

La adición de la nueva regla de caché se bloquea porque la ruta de acceso del repositorio de destino contoso.azurecr.io/library/* se superpone con la regla de caracteres comodín existente contoso.azurecr.io/*.

Ejemplo 2:

Regla de caché existente: contoso.azurecr.io/library/*=>mcr.microsoft.com/library/*
Nueva caché que se va a agregar: contoso.azurecr.io/library/dotnet/* =>docker.io/library/dotnet/*

La adición de la nueva regla de caché se bloquea porque la ruta de acceso del repositorio de destino contoso.azurecr.io/library/dotnet/* se superpone con la regla de caracteres comodín existente contoso.azurecr.io/library/*.

Limitaciones de las reglas de caché estáticas o fijas

Las reglas de caché estáticas o fijas son más específicas y no usan caracteres comodín. Pueden superponerse con reglas de caché basadas en caracteres comodín. Si una regla de caché especifica una ruta de acceso de repositorio fija, se permite su superposición con una regla de caché basada en caracteres comodín.

Ejemplo 1:

Regla de caché existente: contoso.azurecr.io/* =>mcr.microsoft.com/*
Nueva caché que se va a agregar: contoso.azurecr.io/library/dotnet =>docker.io/library/dotnet

Se permite la adición de la nueva regla de caché porque contoso.azurecr.io/library/dotnet es una ruta de acceso estática y puede superponerse con la regla de caché con caracteres comodín contoso.azurecr.io/*.

Pasos siguientes