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:
- Cache degli artefatti
- Abilitare la cache degli artefatti - portale di Azure
- Abilitare La cache degli artefatti con l'autenticazione - portale di Azure
- Abilitare La cache degli artefatti - Interfaccia della riga di comando di Azure
- Abilitare Artifact Cache con l'autenticazione - Interfaccia della riga di comando di Azure
- 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:
Nome regola: nome della regola della cache. Ad esempio,
Hello-World-Cache
.Source: nome del Registro di sistema di origine.
Percorso repository: percorso di origine del repository per trovare e recuperare gli artefatti da memorizzare nella cache. Ad esempio,
docker.io/library/hello-world
.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
Credenziali: nome delle credenziali.
Server di accesso del Registro di sistema di origine: server di accesso del registro di origine.
Autenticazione di origine: percorsi dell'insieme di credenziali delle chiavi per archiviare le credenziali.
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.