Procedure consigliate per Registro Azure Container
Seguendo queste procedure consigliate, è possibile ottimizzare le prestazioni e fare un uso conveniente del registro privato in Azure per archiviare e distribuire immagini del contenitore e altri artefatti.
Per informazioni sui concetti relativi al 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 ricevere notifiche di eventi in repliche specifiche, ad esempio quando viene eseguito il push di immagini.
La replica geografica è disponibile con 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 posizionare immagini in prossimità delle distribuzioni, le caratteristiche delle immagini stesse possono influire sulle prestazioni pull.
Dimensioni immagine: ridurre al minimo le dimensioni delle immagini rimuovendo i livelli non necessari o riducendo le dimensioni dei livelli. Un metodo 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 come Istanze di Azure Container, che memorizza nella cache determinate immagini di base, verificare se sia possibile scambiare un livello immagine per una delle immagini memorizzate nella cache.
Numero di livelli: bilanciare il numero di livelli usati. Se sono troppo pochi, non si trarrà vantaggio dal riutilizzo di livelli e dalla memorizzazione nella cache nell'host. Se sono troppi, l'ambiente di distribuzione impiega più tempo per eseguire operazioni di pull e decompressione. 5-10 livelli sono un numero 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 più elevata di operazioni di lettura e scrittura simultanee per distribuzioni con volumi elevati.
Spazi dei nomi dell'archivio
Con l'uso di spazi dei nomi dell'archivio, è possibile consentire la condivisione di un singolo registro in 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 si potrebbe voler sperimentare con un tipo di host specifico, ad esempio le Istanze di Azure Container, è probabile che si finirà per eliminare l’istanza dal contenitore una volta terminata la fase di sperimentazione. 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 di 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 le autorizzazioni appropriate a utenti, entità servizio o altre identità che eseguono diverse operazioni del registro. Ad esempio, assegnare autorizzazioni push a un'entità servizio usata in una pipeline di compilazione e autorizzazioni pull a un'altra identità usata per la distribuzione. Creare token per un accesso a granularità fine e con limiti di tempo a repository specifici.
Gestire le dimensioni del registro
I vincoli di archiviazione di ogni livello di servizio del registro contenitori sono progettati per allinearsi a uno scenario tipico: Basic per iniziare, Standard per la maggior parte delle applicazioni di produzione e Premium per prestazioni con iperlivello e replica geografica. 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 delle risorse di archiviazione e di altre risorse nel registro:
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 di archiviazione nella Panoramica del registro nel portale di Azure:
Nota
In un registro con replica geografica, l'utilizzo dell'archiviazione viene visualizzato per l'area principale. Moltiplicare per il numero di repliche per ottenere l'archiviazione totale del registro 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 senza tag.
Passaggi successivi
Registro Azure Container è disponibile in diversi livelli (denominati anche SKU) che offrono funzionalità diverse. Per informazioni dettagliate sui livelli di servizio disponibili, vedere Livelli di servizio del Registro Azure Container.
Per consigli su come migliorare la postura di sicurezza dei registri contenitori, vedere Baseline di sicurezza di Azure per Registro Azure Container.