Eseguire un'attività del Registro Azure Container in un pool di agenti dedicato

Configurare un pool di macchine virtuali gestito da Azure (pool di agenti) per abilitare l'esecuzione delle attività di Registro Azure Container in un ambiente di calcolo dedicato. Dopo aver configurato uno o più pool nel Registro di sistema, è possibile scegliere un pool per eseguire un'attività al posto dell'ambiente di calcolo predefinito del servizio.

Un pool di agenti fornisce:

  • Supporto della rete virtuale: assegnare un pool di agenti a una rete virtuale di Azure, fornendo l'accesso alle risorse nella rete virtuale, ad esempio un registro contenitori, un insieme di credenziali delle chiavi o un archivio.
  • Ridimensionare in base alle esigenze : aumentare il numero di istanze in un pool di agenti per le attività a elevato utilizzo di calcolo o scalare a zero. La fatturazione si basa sull'allocazione del pool. Per informazioni dettagliate, vedere Prezzi.
  • Opzioni flessibili: scegliere tra diversi livelli di pool e opzioni di scalabilità per soddisfare le esigenze del carico di lavoro delle attività.
  • Gestione di Azure: i pool di attività vengono patchati e gestiti da Azure, fornendo allocazioni riservate senza la necessità di gestire le singole macchine virtuali.

Questa funzionalità è disponibile per il livello di servizio Premium del registro contenitori. Per informazioni sui livelli di servizio e sui limiti del Registro di sistema, vedere REGISTRO AZURE CONTAINER SKU.

Importante

Questa funzionalità è attualmente in anteprima e si applicano alcune limitazioni. Le anteprime vengono rese disponibili a condizione che l'utente accetti le condizioni supplementari per l'utilizzo. Alcuni aspetti di questa funzionalità potrebbero subire modifiche prima della disponibilità a livello generale.

Limiti dell'anteprima

  • I pool di agenti attività attualmente supportano i nodi Linux. I nodi Windows non sono attualmente supportati.
  • I pool di agenti attività sono disponibili in anteprima nelle aree seguenti: Stati Uniti occidentali 2, Stati Uniti centro-meridionali, Stati Uniti orientali 2, Stati Uniti orientali, Stati Uniti centrali, Europa occidentale, Europa settentrionale, Canada centrale, Asia orientale, Svizzera settentrionale, USGov Arizona, USGov Texas e USGov Virginia.
  • Per ogni registro, la quota totale di vCPU (core) predefinita è 16 per tutti i pool di agenti standard ed è 0 per i pool di agenti isolati. Aprire una richiesta di supporto per un'allocazione aggiuntiva.
  • Non è attualmente possibile annullare un'esecuzione di un'attività in un pool di agenti.

Prerequisiti

  • Per usare i passaggi dell'interfaccia della riga di comando di Azure descritti in questo articolo, è necessaria l'interfaccia della riga di comando di Azure versione 2.3.1 o successiva. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure. In alternativa, eseguire la procedura in Azure Cloud Shell.
  • Se non si ha già un registro contenitori, crearne uno (livello Premium necessario) in un'area di anteprima.

Livelli di pool

I livelli del pool di agenti forniscono le risorse seguenti per ogni istanza nel pool.

Livello Type CPU Memoria (GB)
S1 standard 2 3
S2 standard 4 8
S3 standard 8 16
I6 Isolato 64 216

Creare e gestire un pool di agenti attività

Impostare il Registro di sistema predefinito (facoltativo)

Per semplificare i comandi dell'interfaccia della riga di comando di Azure seguenti, impostare il Registro di sistema predefinito eseguendo il comando az config :

az config set defaults.acr=<registryName>

Gli esempi seguenti presuppongono che sia stato impostato il Registro di sistema predefinito. In caso contrario, passare un --registry <registryName> parametro in ogni az acr comando.

Creare un pool di agenti

Creare un pool di agenti usando il comando az acr agentpool create . L'esempio seguente crea un pool S2 di livello (4 CPU/istanza). Per impostazione predefinita, il pool contiene 1 istanza.

az acr agentpool create \
    --registry MyRegistry \
    --name myagentpool \
    --tier S2

Nota

Il completamento della creazione di un pool di agenti e di altre operazioni di gestione del pool richiede alcuni minuti.

Pool di scalabilità

Aumentare o ridurre le dimensioni del pool con il comando az acr agentpool update . Nell'esempio seguente il pool viene ridimensionato a 2 istanze. È possibile ridimensionare fino a 0 istanze.

az acr agentpool update \
    --registry MyRegistry \
    --name myagentpool \
    --count 2

Creare un pool in una rete virtuale

Aggiungere regole di firewall

I pool di agenti attività richiedono l'accesso ai servizi di Azure seguenti. Le regole del firewall seguenti devono essere aggiunte a qualsiasi gruppo di sicurezza di rete esistente o route definite dall'utente.

Direzione Protocollo Origine Porta di origine Destinazione Porta Dest nr. utilizzato
In uscita TCP VirtualNetwork Any AzureKeyVault 443 Default
In uscita TCP VirtualNetwork Any Storage 443 Default
In uscita TCP VirtualNetwork Any EventHub 443 Default
In uscita TCP VirtualNetwork Any AzureActiveDirectory 443 Default
In uscita TCP VirtualNetwork Any AzureMonitor 443 Impostazione predefinita

Nota

Se le attività richiedono risorse aggiuntive dalla rete Internet pubblica, aggiungere le regole corrispondenti. Ad esempio, sono necessarie regole aggiuntive per eseguire un'attività di compilazione Docker che esegue il pull delle immagini di base dall'hub Docker o ripristina un pacchetto NuGet.

I clienti che si basano sulle distribuzioni con MCR possono fare riferimento alle regole del firewall MCR/MAR.

Creare un pool nella rete virtuale

L'esempio seguente crea un pool di agenti nella subnet mysubnet della rete myvnet:

# Get the subnet ID
subnetId=$(az network vnet subnet show \
        --resource-group myresourcegroup \
        --vnet-name myvnet \
        --name mysubnetname \
        --query id --output tsv)

az acr agentpool create \
    --registry MyRegistry \
    --name myagentpool \
    --tier S2 \
    --subnet-id $subnetId

Eseguire l'attività nel pool di agenti

Negli esempi seguenti viene illustrato come specificare un pool di agenti durante l'accodamento di un'attività.

Nota

Per usare un pool di agenti in un'attività del Registro Azure Container, assicurarsi che il pool contenga almeno 1 istanza.

Attività rapida

Accodare un'attività rapida nel pool di agenti usando il comando az acr build e passare il --agent-pool parametro :

az acr build \
    --registry MyRegistry \
    --agent-pool myagentpool \
    --image myimage:mytag \
    --file Dockerfile \
    https://github.com/Azure-Samples/acr-build-helloworld-node.git#main

Attività attivata automaticamente

Ad esempio, creare un'attività pianificata nel pool di agenti con az acr task create, passando il --agent-pool parametro .

az acr task create \
    --registry MyRegistry \
    --name mytask \
    --agent-pool myagentpool \
    --image myimage:mytag \
    --schedule "0 21 * * *" \
    --file Dockerfile \
    --context https://github.com/Azure-Samples/acr-build-helloworld-node.git#main \
    --commit-trigger-enabled false

Per verificare l'installazione dell'attività, eseguire az acr task run:

az acr task run \
    --registry MyRegistry \
    --name mytask

Stato del pool di query

Per trovare il numero di esecuzioni attualmente pianificate nel pool di agenti, eseguire az acr agentpool show.

az acr agentpool show \
    --registry MyRegistry \
    --name myagentpool \
    --queue-count

Passaggi successivi

Per altri esempi di compilazioni e manutenzione di immagini del contenitore nel cloud, vedere la serie di esercitazioni sulle attività del Registro Azure Container.