Condividi tramite


Cache degli artefatti in Registro Azure Container (anteprima)

La funzionalità Cache degli artefatti 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.

La cache degli artefatti migliora la gestione delle immagini del contenitore fornendo una soluzione di memorizzazione nella cache per repository pubblici e privati.

La cache degli artefatti offre operazioni pull più veloci e affidabili tramite Registro Azure Container (ACR), usando funzionalità come la replica geografica e il supporto della zona di disponibilità per il pull di immagini a disponibilità e velocità più elevate.

La cache degli artefatti consente di accedere ai registri memorizzati nella cache tramite reti private per consentire agli utenti di allinearsi perfettamente alle configurazioni del firewall e agli standard di conformità.

La cache degli artefatti risolve la sfida dei limiti di pull anonimi imposti da registri pubblici come l'hub Docker. Consentendo agli utenti di eseguire il pull delle immagini dal Registro Azure Container locale, aggirare questi limiti, garantendo la distribuzione ininterrotta di contenuti da origini upstream ed eliminando la preoccupazione di raggiungere 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.

  • Titolo

    • 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. La cache degli artefatti non esegue automaticamente il pull di nuovi tag di immagini quando è disponibile un nuovo tag. È in programma, ma non è supportato in questa versione.

  • La cache degli artefatti supporta solo 1.000 regole della cache.

Supporto upstream

La cache degli artefatti supporta attualmente i registri upstream seguenti:

Registri upstream Supporto tecnico Disponibilità
Hub docker 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
Elastic Container Registry (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. La cache degli artefatti 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, consente la sovrapposizione con 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 .

Abilitare La cache degli artefatti - Interfaccia della riga di comando di Azure

È possibile abilitare la cache artifact nel Registro Azure Container con o senza autenticazione usando l'interfaccia della riga di comando di Azure seguendo la procedura seguente.

Prerequisiti

Configurare e creare una regola della cache senza credenziali.

  1. Eseguire il comando az acr Cache create per creare una regola della cache.

    • Ad esempio, per creare una regola della cache senza le credenziali per un determinato MyRegistry Registro Azure Container.
    az acr Cache create -r MyRegistry -n MyRule -s docker.io/library/ubuntu -t ubuntu-
    
  2. Eseguire il comando az acr Cache show per visualizzare una regola della cache.

    • Ad esempio, per visualizzare una regola della cache per un determinato MyRegistry Registro Azure Container.
     az acr Cache show -r MyRegistry -n MyRule
    

Creare le credenziali

Prima di configurare le credenziali, è necessario creare e archiviare i segreti in Azure KeyVault e recuperare i segreti dall'insieme di credenziali delle chiavi. Altre informazioni sulla creazione e l'archiviazione delle credenziali in un insieme di credenziali delle chiavi. E per impostare e recuperare un segreto da Key Vault.

  1. Eseguire il comando az acr credential set create per creare le credenziali.

    • Ad esempio, Per creare le credenziali per un determinato MyRegistry Registro Azure Container.
    az acr credential-set create 
    -r MyRegistry \
    -n MyRule \
    -l docker.io \ 
    -u https://MyKeyvault.vault.azure.net/secrets/usernamesecret \
    -p https://MyKeyvault.vault.azure.net/secrets/passwordsecret
    
  2. Eseguire az acr credential set update per aggiornare l'ID segreto KV nome utente o password in un set di credenziali.

    • Ad esempio, per aggiornare l'ID segreto KV nome utente o password nelle credenziali per un determinato MyRegistry Registro Azure Container.
    az acr credential-set update -r MyRegistry -n MyRule -p https://MyKeyvault.vault.azure.net/secrets/newsecretname
    
  3. Eseguire az-acr-credential-set-show per visualizzare le credenziali.

    • Ad esempio, per visualizzare le credenziali per un determinato MyRegistry Registro Azure Container.
    az acr credential-set show -r MyRegistry -n MyCredSet
    

Configurare e creare una regola della cache con le credenziali

  1. Eseguire il comando az acr cache create per creare una regola della cache.

    • Ad esempio, per creare una regola della cache con le credenziali per un determinato MyRegistry Registro Azure Container.
    az acr cache create -r MyRegistry -n MyRule -s docker.io/library/ubuntu -t ubuntu -c MyCredSet
    
  2. Eseguire il comando az acr cache update per aggiornare le credenziali in una regola della cache.

    • Ad esempio, per aggiornare le credenziali in una regola della cache per un determinato MyRegistry Registro Azure Container.
    az acr cache update -r MyRegistry -n MyRule -c NewCredSet
    
    • Ad esempio, per rimuovere le credenziali da una regola della cache esistente per un determinato MyRegistry Registro Azure Container.
    az acr cache update -r MyRegistry -n MyRule --remove-cred-set
    
  3. Eseguire il comando az acr cache show per visualizzare una regola della cache.

    • Ad esempio, per visualizzare una regola della cache per un determinato MyRegistry Registro Azure Container.
     az acr cache show -r MyRegistry -n MyRule
    

Assegnare autorizzazioni a Key Vault

  1. Ottenere l'ID principale dell'identità di sistema in uso per accedere a Key Vault.

    PRINCIPAL_ID=$(az acr credential-set show 
                    -n MyCredSet \ 
                    -r MyRegistry  \
                    --query 'identity.principalId' \ 
                    -o tsv) 
    
  2. Eseguire il comando az keyvault set-policy per assegnare l'accesso all'insieme di credenziali delle chiavi prima di eseguire il pull dell'immagine.

    • Ad esempio, per assegnare le autorizzazioni per le credenziali di accesso al segreto KeyVault
    az keyvault set-policy --name MyKeyVault \
    --object-id $PRINCIPAL_ID \
    --secret-permissions get
    

Eseguire il pull dell'immagine

  1. Eseguire il pull dell'immagine dalla cache usando il comando Docker dal nome del server di accesso del Registro di sistema, dal nome del repository e dal relativo tag desiderato.

    • Ad esempio, per eseguire il pull dell'immagine dal repository hello-world con il tag latest desiderato per un determinato server myregistry.azurecr.iodi accesso del Registro di sistema.
     docker pull myregistry.azurecr.io/hello-world:latest
    

Pulire le risorse

  1. Eseguire il comando az acr cache list per elencare le regole della cache nella Registro Azure Container.

    • Ad esempio, per elencare le regole della cache per un determinato MyRegistry Registro Azure Container.
     az acr cache list -r MyRegistry
    
  2. Eseguire il comando az acr cache delete per eliminare una regola della cache.

    • Ad esempio, per eliminare una regola della cache per un determinato MyRegistry Registro Azure Container.
    az acr cache delete -r MyRegistry -n MyRule
    
  3. Eseguireaz acr credential set list per elencare le credenziali in un Registro Azure Container.

    • Ad esempio, per elencare le credenziali per un determinato MyRegistry Registro Azure Container.
    az acr credential-set list -r MyRegistry
    
  4. Eseguire az-acr-credential-set-delete per eliminare le credenziali.

    • Ad esempio, per eliminare le credenziali per un determinato MyRegistry Registro Azure Container.
    az acr credential-set delete -r MyRegistry -n MyCredSet
    

Abilitare la cache degli artefatti - portale di Azure

È possibile abilitare la cache artifact nel Registro Azure Container con o senza autenticazione usando portale di Azure seguendo la procedura.

Prerequisiti

Configurare la cache artefatto senza credenziali

Seguire la procedura per creare una regola della cache nella portale di Azure.

  1. Passare al Registro Azure Container.

  2. Nel menu laterale, in Servizi, selezionare Cache.

    Screenshot della cache del Registro di sistema in portale di Azure.

  3. Selezionare Crea regola.

    Screenshot per La creazione di una regola in portale di Azure.

  4. Viene visualizzata una finestra per La nuova regola della cache.

    Screenshot della nuova regola della cache in portale di Azure.

  5. Immettere il nome della regola.

  6. Selezionare Registro di origine dal menu a discesa.

  7. Immettere il percorso del repository per gli artefatti da memorizzare nella cache.

  8. È possibile ignorare l'autenticazione, se non si accede a un repository privato o si esegue un pull autenticato.

  9. In Destinazione immettere il nome dello spazio dei nomi nuovo repository del Registro Azure Container per archiviare gli artefatti memorizzati nella cache.

    Screenshot per salvare la regola della cache in portale di Azure.

  10. Selezionare Salva.

  11. Eseguire il pull dell'immagine dalla cache usando il comando Docker dal nome del server di accesso del Registro di sistema, dal nome del repository e dal relativo tag desiderato.

    • Ad esempio, per eseguire il pull dell'immagine dal repository hello-world con il tag latest desiderato per un determinato server myregistry.azurecr.iodi accesso del Registro di sistema.
     docker pull myregistry.azurecr.io/hello-world:latest
    

Configurare la cache degli artefatti con l'autenticazione

Seguire la procedura per creare una regola della cache nella portale di Azure.

  1. Passare al Registro Azure Container.

  2. Nel menu laterale, in Servizi, selezionare Cache.

    Screenshot della cache del Registro di sistema in portale di Azure.

  3. Selezionare Crea regola.

    Screenshot per La creazione di una regola in portale di Azure.

  4. Viene visualizzata una finestra per La nuova regola della cache.

    Screenshot della nuova regola della cache con autenticazione in portale di Azure.

  5. Immettere il nome della regola.

  6. Selezionare Registro di origine dal menu a discesa.

  7. Immettere il percorso del repository per gli artefatti da memorizzare nella cache.

  8. Per aggiungere l'autenticazione al repository, selezionare la casella Autenticazione .

  9. Scegliere Crea nuove credenziali per creare un nuovo set di credenziali per archiviare il nome utente e la password per il registro di origine. Informazioni su come creare nuove credenziali.

  10. Se le credenziali sono pronte, selezionare le credenziali dal menu a discesa.

  11. In Destinazione immettere il nome dello spazio dei nomi nuovo repository del Registro Azure Container per archiviare gli artefatti memorizzati nella cache.

    Screenshot per salvare la regola della cache in portale di Azure.

  12. Selezionare Salva.

  13. Eseguire il pull dell'immagine dalla cache usando il comando Docker dal nome del server di accesso del Registro di sistema, dal nome del repository e dal relativo tag desiderato.

    • Ad esempio, per eseguire il pull dell'immagine dal repository hello-world con il tag latest desiderato per un determinato server myregistry.azurecr.iodi accesso del Registro di sistema.
     docker pull myregistry.azurecr.io/hello-world:latest
    

Creare nuove credenziali

Prima di configurare le credenziali, è necessario creare e archiviare segreti in Azure KeyVault e recuperare i segreti dall'insieme di credenziali delle chiavi. Altre informazioni sulla creazione e l'archiviazione delle credenziali in un insieme di credenziali delle chiavi. E per impostare e recuperare un segreto da Key Vault.

  1. Passare a Credenziali>Crea credenziali.

    Screenshot per l'aggiunta di credenziali in portale di Azure.

    Screenshot per la creazione di nuove credenziali in portale di Azure.

  2. Immettere Nome per le nuove credenziali per il registro di origine.

  3. Selezionare un'autenticazione di origine. La cache degli artefatti supporta attualmente l'opzione Select from Key Vault e Enter secret URI (Immettere l'URI del segreto).

  4. Per l'opzione Seleziona da Key Vault , vedere Altre informazioni sulla creazione di credenziali con l'insieme di credenziali delle chiavi.

  5. Selezionare Crea.

Passaggi successivi

  • Passare all'articolo successivo per esaminare la guida alla risoluzione dei problemi della cache del Registro di sistema.