Cache degli artefatti - Panoramica

La funzionalità Cache artefatto consente agli utenti di memorizzare nella cache le immagini del contenitore in un registro contenitori privato. La cache degli artefatti è disponibile nei livelli di servizio Basic, Standard e Premium.

Questo articolo fa parte di una serie di esercitazioni in sei parti. L'esercitazione illustra:

  1. Cache degli artefatti
  2. Abilitare la cache degli artefatti - portale di Azure
  3. Abilitare La cache degli artefatti con l'autenticazione - portale di Azure
  4. Abilitare La cache degli artefatti - Interfaccia della riga di comando di Azure
  5. Abilitare Artifact Cache con l'autenticazione - Interfaccia della riga di comando di Azure
  6. Guida alla risoluzione dei problemi di Artifact Cache

Cache degli artefatti

Artifact Cache consente di memorizzare nella cache le immagini del contenitore da repository pubblici e privati.

L'implementazione di Artifact Cache offre i vantaggi seguenti:

Operazioni pull più affidabili: i pull più veloci delle immagini del contenitore sono raggiungibili memorizzando nella cache le immagini del contenitore in Registro Azure Container. Poiché Microsoft gestisce la rete di Azure, le operazioni pull sono più veloci fornendo supporto per la replica geografica e la zona di disponibilità ai clienti.

Reti private: i registri memorizzati nella cache sono disponibili nelle reti private. Pertanto, gli utenti possono configurare il firewall per soddisfare gli standard di conformità.

Garantire che il contenuto upstream venga distribuito: tutti i registri, in particolare quelli pubblici come l'hub Docker e altri, hanno limiti di pull anonimi per garantire che possano fornire servizi a tutti. Artifact Cache consente agli utenti di eseguire il pull delle immagini dal Registro di controllo di accesso locale anziché dal registro upstream. La cache degli artefatti garantisce la distribuzione di contenuti da upstream e gli utenti ottengono il vantaggio di eseguire il pull delle immagini del contenitore dalla cache senza contare i limiti pull.

Terminologia

  • Regola cache: una regola della cache è una regola che è possibile creare per eseguire il pull degli artefatti da un repository supportato nella cache.

    • Una regola della cache contiene quattro parti:

      1. Nome regola: nome della regola della cache. Ad esempio, Hello-World-Cache.

      2. Source: nome del Registro di sistema di origine.

      3. Percorso repository: percorso di origine del repository per trovare e recuperare gli artefatti da memorizzare nella cache. Ad esempio, docker.io/library/hello-world.

      4. Nuovo spazio dei nomi del repository del Registro Azure Container: nome del nuovo percorso del repository per archiviare gli artefatti. Ad esempio, hello-world. Il repository non può esistere già all'interno dell'istanza di Registro Azure Container.

  • Credentials

    • Le credenziali sono un set di nome utente e password per il Registro di sistema di origine. È necessario che le credenziali eseguano l'autenticazione con un repository pubblico o privato. Le credenziali contengono quattro parti

      1. Credenziali: nome delle credenziali.

      2. Server di accesso del Registro di sistema di origine: server di accesso del registro di origine.

      3. Autenticazione di origine: percorsi dell'insieme di credenziali delle chiavi per archiviare le credenziali.

      4. Segreti nome utente e password: segreti contenenti il nome utente e la password.

Limiti

  • La cache verrà eseguita solo dopo il completamento di almeno un pull di immagini nell'immagine del contenitore disponibile. Per ogni nuova immagine disponibile, è necessario completare il pull di una nuova immagine. Artifact Cache non esegue automaticamente il pull di nuovi tag di immagini quando è disponibile un nuovo tag. È in programma, ma non è supportato in questa versione.

  • Artifact Cache supporta solo 1000 regole della cache.

Supporto upstream

Artifact Cache supporta attualmente i registri upstream seguenti:

Registri upstream Supporto tecnico Disponibilità
Docker Hub Supporta sia pull autenticati che pull non autenticati. Interfaccia della riga di comando di Azure, portale di Azure
Registro artefatti Microsoft Supporta solo pull non autenticati. Interfaccia della riga di comando di Azure, portale di Azure
ECR Public Supporta solo pull non autenticati. Interfaccia della riga di comando di Azure, portale di Azure
Registro Contenitori GitHub Supporta sia pull autenticati che pull non autenticati. Interfaccia della riga di comando di Azure, portale di Azure
Nvidia Supporta sia pull autenticati che pull non autenticati. Interfaccia della riga di comando di Azure
Quay Supporta sia pull autenticati che pull non autenticati. Interfaccia della riga di comando di Azure, portale di Azure
registry.k8s.io Supporta sia pull autenticati che pull non autenticati. Interfaccia della riga di comando di Azure
Registro Contenitori Google Supporta sia pull autenticati che pull non autenticati. Interfaccia della riga di comando di Azure

Caratteri jolly

I caratteri jolly usano asterischi (*) per trovare la corrispondenza con più percorsi all'interno del registro immagini del contenitore. Artifact Cache supporta attualmente i caratteri jolly seguenti:

Nota

Mapping delle regole della cache da Repository di destinazione = Repository di> origine.

Carattere jolly a livello del Registro di sistema

Il carattere jolly a livello del Registro di sistema consente di memorizzare nella cache tutti i repository da un registro upstream.

Regola cache Mapping Esempio
contoso.azurecr.io/* => mcr.microsoft.com/* Mapping per tutte le immagini in Registro Azure Container a MCR. contoso.azurecr.io/myapp/image1 => mcr.microsoft.com/myapp/image1
contoso.azurecr.io/myapp/image2 => mcr.microsoft.com/myapp/image2

Carattere jolly a livello di repository

Il carattere jolly a livello di repository consente di memorizzare nella cache tutti i repository da un mapping del Registro di sistema upstream al prefisso del repository.

Regola cache Mapping Esempio
contoso.azurecr.io/dotnet/* => mcr.microsoft.com/dotnet/* Mapping di repository specifici in Registro Azure Container ai repository corrispondenti in 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/*
Mapping di repository specifici in Registro Azure Container ai repository da registri upstream diversi. contoso.azurecr.io/library/dotnet/app1 => mcr.microsoft.com/dotnet/app1
contoso.azurecr.io/library/python/app3 => docker.io/library/python/app3

Limitazioni per le regole della cache basate su caratteri jolly

Le regole della cache con caratteri jolly usano asterischi (*) per trovare le corrispondenze tra più percorsi all'interno del registro immagini del contenitore. Queste regole non possono sovrapporsi ad altre regole della cache con caratteri jolly. In altre parole, se si dispone di una regola della cache con caratteri jolly per un determinato percorso del Registro di sistema, non è possibile aggiungere un'altra regola con caratteri jolly sovrapposta.

Ecco alcuni esempi di regole sovrapposte:

Esempio 1:

Regola cache esistente: contoso.azurecr.io/* => mcr.microsoft.com/*
Aggiunta di una nuova cache: contoso.azurecr.io/library/* => docker.io/library/*

L'aggiunta della nuova regola della cache viene bloccata perché il percorso contoso.azurecr.io/library/* del repository di destinazione si sovrappone alla regola contoso.azurecr.io/*con caratteri jolly esistente.

Esempio 2:

Regola cache esistente: contoso.azurecr.io/library/* =>mcr.microsoft.com/library/*
Aggiunta di una nuova cache: contoso.azurecr.io/library/dotnet/* =>docker.io/library/dotnet/*

L'aggiunta della nuova regola della cache viene bloccata perché il percorso contoso.azurecr.io/library/dotnet/* del repository di destinazione si sovrappone alla regola contoso.azurecr.io/library/*con caratteri jolly esistente.

Limitazioni per le regole della cache statiche/fisse

Le regole statiche o fisse della cache sono più specifiche e non usano caratteri jolly. Possono sovrapporsi alle regole della cache basate su caratteri jolly. Se una regola della cache specifica un percorso predefinito del repository, può sovrapporsi a una regola della cache basata su caratteri jolly.

Esempio 1:

Regola cache esistente: contoso.azurecr.io/* =>mcr.microsoft.com/*
Aggiunta di una nuova cache: contoso.azurecr.io/library/dotnet =>docker.io/library/dotnet

L'aggiunta della nuova regola della cache è consentita perché contoso.azurecr.io/library/dotnet è un percorso statico e può sovrapporsi alla regola contoso.azurecr.io/*della cache con caratteri jolly .

Passaggi successivi

  • Per abilitare La cache degli artefatti usando il portale di Azure passare all'articolo successivo: Abilitare la cache degli artefatti.