Procedure consigliate per Registro Azure Container

Seguendo queste procedure consigliate, è possibile ottimizzare le prestazioni e l'uso conveniente del Registro di sistema privato in Azure per archiviare e distribuire immagini dei contenitori e altri artefatti.

Per informazioni sui concetti del Registro di sistema, vedere Informazioni su registri, repository e immagini. Vedere anche Suggerimenti per l'assegnazione di tag e il controllo delle versioni delle immagini del contenitore per le strategie per l'assegnazione di tag e versioni delle immagini nel registro.

Distribuzione in reti vicine

Creare il registro contenitori nella stessa area di Azure in cui vengono distribuiti i contenitori. La collocazione del Registro in un'area di rete vicina ai propri host contenitori può ridurre la latenza e i costi.

La distribuzione in reti vicine è una delle ragioni principali per cui si usa un registro contenitori privato. Le immagini di Docker hanno un efficiente costrutto di livelli che consente la distribuzione incrementale. Tuttavia, è necessario che nuovi nodi eseguano il pull di tutti i livelli richiesti per una data immagine. Questo docker pull iniziale si può rapidamente aggiungere a più gigabyte. Avere un registro contenitori privato vicino alla propria distribuzione riduce al minimo la latenza di rete. In aggiunta, tutti i cloud pubblici, Azure incluso, implementano i corrispettivi per il traffico di rete in uscita. Il pull di immagini da un data center a un altro aggiunge corrispettivi di rete in uscita e latenza.

Eseguire la replica geografica della distribuzione in più aree

Usare la funzione replica geografica di Registro Azure Container se si distribuiscono contenitori a più aree. Se si servono clienti globali da data center locali o il proprio team di sviluppo è in più posizioni, è possibile semplificare la gestione del registro e ridurre al minimo la latenza eseguendo la replica geografica del proprio registro. È anche possibile configurare webhook a livello di area per notificare gli eventi in repliche specifiche, ad esempio quando vengono eseguite il push delle immagini.

La replica geografica è disponibile con i registri Premium . Per capire come usare la replica geografica, vedere il tutorial in tre parti Preparare un'istanza di Registro Azure Container con replica geografica.

Ottimizzare le prestazioni pull

Oltre a inserire immagini vicine alle distribuzioni, le caratteristiche delle immagini stesse possono influire sulle prestazioni pull.

  • Dimensioni dell'immagine : ridurre al minimo le dimensioni delle immagini rimuovendo livelli non necessari o riducendo le dimensioni dei livelli. Un modo per ridurre le dimensioni dell'immagine consiste nell'usare l'approccio di compilazione Docker a più fasi per includere solo i componenti di runtime necessari.

    Controllare anche se l'immagine può includere un'immagine del sistema operativo di base più leggera. Se si usa un ambiente di distribuzione, ad esempio Istanze di Azure Container che memorizza nella cache determinate immagini di base, verificare se è possibile scambiare un livello di immagine per una delle immagini memorizzate nella cache.

  • Numero di livelli : bilanciare il numero di livelli usati. Se sono troppo pochi, non si può trarre vantaggio dal riutilizzo del livello e dalla memorizzazione nella cache nell'host. Troppi e l'ambiente di distribuzione impiega più tempo a eseguire il pull e la decompressione. Cinque a 10 livelli è ottimale.

Scegliere anche un livello di servizio di Registro Azure Container che soddisfi le esigenze di prestazioni. Il livello Premium offre la massima larghezza di banda e la frequenza massima di operazioni di lettura e scrittura simultanee quando si dispone di distribuzioni con volumi elevati.

Spazi dei nomi dell'archivio

Usando gli spazi dei nomi dei repository, è possibile consentire la condivisione di un singolo Registro di sistema tra più gruppi all'interno dell'organizzazione. I registri possono essere condivisi tra le distribuzioni e i team. Registro Azure Container supporta spazi dei nomi annidati, abilitando l'isolamento in gruppo. Tuttavia, il registro gestisce tutti i repository in modo indipendente, non come gerarchia.

Si considerino ad esempio i tag delle immagini del contenitore seguenti: Le immagini che vengono usate a livello aziendale, ad esempio aspnetcore, vengono inserite nello spazio dei nomi radice, mentre le immagini del contenitore di proprietà dei gruppi di Prodotti e di Marketing usano spazi dei nomi dedicati.

  • contoso.azurecr.io/aspnetcore:2.0
  • contoso.azurecr.io/products/widget/web:1
  • contoso.azurecr.io/products/bettermousetrap/refundapi:12.3
  • contoso.azurecr.io/marketing/2017-fall/concertpromotions/campaign:218.42

Gruppo di risorse dedicato

Poiché i registri contenitori sono risorse usate in più host contenitori, un registro deve trovarsi nel relativo gruppo di risorse.

Anche se è possibile sperimentare un tipo host specifico, ad esempio Istanze di Azure Container, è probabile che si voglia eliminare l'istanza del contenitore al termine. Tuttavia, è anche possibile mantenere la raccolta di immagini inserita in Registro Azure Container. Posizionando il registro nel suo gruppo di risorse, si riduce al minimo il rischio di eliminare accidentalmente la raccolta di immagini nel registro quando si elimina il gruppo di risorse delle istanze del contenitore.

Autenticazione e autorizzazione

Quando si esegue l'autenticazione con Registro Azure Container, esistono due scenari principali: autenticazione singola e autenticazione di servizio (o "headless"). La tabella seguente fornisce una breve panoramica di questi scenari e il metodo di autenticazione consigliato per ognuno.

Type Scenario di esempio Metodo consigliato
Identità singola Uno sviluppatore che esegue il pull o il push di immagini dal computer di sviluppo. az acr login
Identità headless/del servizio Pipeline di compilazione e distribuzione in cui l'utente non è direttamente coinvolto. Entità servizio

Per informazioni approfondite su questi e altri scenari di autenticazione Registro Azure Container, vedere Eseguire l'autenticazione con un registro Azure Container.

Registro Azure Container supporta le procedure di sicurezza nell'organizzazione per distribuire compiti e privilegi a identità diverse. Usando il controllo degli accessi in base al ruolo, assegnare autorizzazioni appropriate a utenti diversi, entità servizio o altre identità che eseguono operazioni del Registro di sistema diverse. Ad esempio, assegnare autorizzazioni push a un'entità servizio usata in una pipeline di compilazione e assegnare autorizzazioni pull a un'identità diversa usata per la distribuzione. Creare token per l'accesso con granularità fine e limitata al tempo a repository specifici.

Gestire le dimensioni del registro

I vincoli di archiviazione di ogni livello di servizio del Registro contenitori sono destinati a allinearsi a uno scenario tipico: Base per iniziare, Standard per la maggior parte delle applicazioni di produzione e Premium per le prestazioni e la replica geografica su larga scala. Per tutta la durata del registro, è necessario gestirne le dimensioni eliminando periodicamente il contenuto non usato.

Usare il comando dell'interfaccia della riga di comando di Azure az acr show-usage per visualizzare l'utilizzo corrente dell'archiviazione e altre risorse nel Registro di sistema:

az acr show-usage --resource-group myResourceGroup --name myregistry --output table

Output di esempio:

NAME                        LIMIT         CURRENT VALUE    UNIT
--------------------------  ------------  ---------------  ------
Size                        536870912000  215629144        Bytes
Webhooks                    500           1                Count
Geo-replications            -1            3                Count
IPRules                     100           1                Count
VNetRules                   100           0                Count
PrivateEndpointConnections  10            0                Count

È anche possibile trovare l'utilizzo corrente dell'archiviazione nella panoramica del Registro di sistema nel portale di Azure:

Informazioni sull'uso del registro nel portale di Azure

Nota

In un Registro di sistema con replica geografica viene visualizzato l'utilizzo dell'archiviazione per l'area home. Moltiplicare il numero di repliche per l'archiviazione totale del Registro di sistema utilizzata.

Eliminare i dati di immagini

Registro Azure Container supporta diversi metodi per l'eliminazione di dati di immagini dal registro contenitori. È possibile eliminare le immagini in base al tag o al digest del manifesto oppure eliminare un intero repository.

Per informazioni dettagliate sull'eliminazione dei dati di immagini dal registro, tra cui immagini senza tag (a volte indicate come "tralasciate" o "orfane"), vedere Eliminare le immagini del contenitore in Registro Azure Container. È anche possibile impostare un criterio di conservazione per i manifesti non contrassegnati.

Passaggi successivi

Registro Azure Container è disponibile in diversi livelli (chiamati anche SKU) che forniscono funzionalità diverse. Per informazioni dettagliate sui livelli di servizio disponibili, vedere Livelli di servizio del Registro Azure Container.

Per raccomandazioni per migliorare il comportamento di sicurezza dei registri contenitori, vedere Baseline di sicurezza di Azure per Registro Azure Container.