Een ACR-taak uitvoeren op een toegewezen agentpool
Stel een door Azure beheerde VM-pool (agentgroep) in om het uitvoeren van uw Azure Container Registry-taken in een toegewezen rekenomgeving mogelijk te maken. Nadat u een of meer pools in uw register hebt geconfigureerd, kunt u een pool kiezen om een taak uit te voeren in plaats van de standaard-rekenomgeving van de service.
Een agentgroep biedt:
- Ondersteuning voor virtuele netwerken: wijs een agentgroep toe aan een Azure-VNet en geef toegang tot resources in het VNet, zoals een containerregister, sleutelkluis of opslag.
- Schaal indien nodig : verhoog het aantal exemplaren in een agentgroep voor rekenintensieve taken of schaal naar nul. Facturering is gebaseerd op pooltoewijzing. Zie Prijzen voor meer informatie.
- Flexibele opties : kies uit verschillende poollagen en schaalopties om te voldoen aan de behoeften van uw taakworkload.
- Azure-beheer : taakgroepen worden gepatcht en onderhouden door Azure, waardoor gereserveerde toewijzing wordt geboden zonder dat de afzonderlijke VM's hoeven te worden onderhouden.
Deze functie is beschikbaar in de servicelaag Premium-containerregister . Zie Azure Container Registry-SKU's voor informatie over registerservicelagen en -limieten.
Belangrijk
Deze functie is momenteel beschikbaar als preview en er gelden enkele beperkingen. Previews worden voor u beschikbaar gesteld op voorwaarde dat u akkoord gaat met de aanvullende gebruiksvoorwaarden. Sommige aspecten van deze functie worden mogelijk nog gewijzigd voordat de functie algemeen beschikbaar wordt.
Preview-beperkingen
- Taakagentpools ondersteunen momenteel Linux-knooppunten. Windows-knooppunten worden momenteel niet ondersteund.
- Taakagentgroepen zijn beschikbaar in de preview-fase in de volgende regio's: VS - west 2, VS - zuid-centraal, VS - oost 2, VS - oost, VS - centraal, Europa - west, Europa - noord, Canada - centraal, Azië - oost, Zwitserland - noord, USGov Arizona, USGov Texas en USGov Virginia.
- Voor elk register is het standaardquotum voor vCPU (core) 16 voor alle standaardagentgroepen en is 0 voor geïsoleerde agentpools. Open een ondersteuningsaanvraag voor extra toewijzing.
- U kunt momenteel een taakuitvoering in een agentpool niet annuleren.
Vereisten
- Als u de Azure CLI-stappen in dit artikel wilt gebruiken, is Azure CLI versie 2.3.1 of hoger vereist. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren. Of voer deze uit in Azure Cloud Shell.
- Als u nog geen containerregister hebt, maakt u er een (Premium-laag vereist) in een preview-regio.
Poollagen
Agentgroeplagen bieden de volgende resources per exemplaar in de pool.
Laag | Type | CPU | Geheugen (GB) |
---|---|---|---|
S1 | standard | 2 | 3 |
S2 | standard | 4 | 8 |
S3 | standard | 8 | 16 |
I6 | Geïsoleerd | 64 | 216 |
Een taakagentgroep maken en beheren
Standaardregister instellen (optioneel)
Als u azure CLI-opdrachten die volgen wilt vereenvoudigen, stelt u het standaardregister in door de opdracht az config uit te voeren:
az config set defaults.acr=<registryName>
In de volgende voorbeelden wordt ervan uitgegaan dat u het standaardregister hebt ingesteld. Als dat niet het is, geeft u een --registry <registryName>
parameter door in elke az acr
opdracht.
Agentpool maken
Maak een agentpool met behulp van de opdracht az acr agentpool create . In het volgende voorbeeld wordt een laag S2-pool (4 CPU/exemplaar) gemaakt. De pool bevat standaard 1 exemplaar.
az acr agentpool create \
--registry MyRegistry \
--name myagentpool \
--tier S2
Notitie
Het maken van een agentpool en andere poolbeheerbewerkingen duurt enkele minuten.
Pool schalen
Schaal de poolgrootte omhoog of omlaag met de opdracht az acr agentpool update . In het volgende voorbeeld wordt de pool geschaald naar 2 exemplaren. U kunt schalen naar 0 exemplaren.
az acr agentpool update \
--registry MyRegistry \
--name myagentpool \
--count 2
Pool maken in een virtueel netwerk
Firewallregels toevoegen
Voor taakagentpools is toegang tot de volgende Azure-services vereist. De volgende firewallregels moeten worden toegevoegd aan bestaande netwerkbeveiligingsgroepen of door de gebruiker gedefinieerde routes.
Richting | Protocol | Bron | Bronpoort | Doel | Dest-poort | Used |
---|---|---|---|---|---|---|
Uitgaand | TCP | VirtualNetwork | Alle | AzureKeyVault | 443 | Standaardinstelling |
Uitgaand | TCP | VirtualNetwork | Alle | Storage | 443 | Standaardinstelling |
Uitgaand | TCP | VirtualNetwork | Alle | EventHub | 443 | Standaardinstelling |
Uitgaand | TCP | VirtualNetwork | Alle | AzureActiveDirectory | 443 | Standaardinstelling |
Uitgaand | TCP | VirtualNetwork | Alle | AzureMonitor | 443 | Standaard |
Notitie
Als voor uw taken extra resources van het openbare internet nodig zijn, voegt u de bijbehorende regels toe. Er zijn bijvoorbeeld aanvullende regels nodig om een Docker-buildtaak uit te voeren waarmee de basisinstallatiekopieën uit Docker Hub worden opgehaald of een NuGet-pakket wordt hersteld.
Klanten die hun implementaties met MCR baseren, kunnen verwijzen naar MCR/MAR-firewallregels.
Pool maken in VNet
In het volgende voorbeeld wordt een agentgroep gemaakt in het subnetsubnet van het myvnet-netwerk:
# 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
Taak uitvoeren in agentgroep
In de volgende voorbeelden ziet u hoe u een agentgroep opgeeft bij het in de wachtrij plaatsen van een taak.
Notitie
Als u een agentgroep in een ACR-taak wilt gebruiken, moet u ervoor zorgen dat de pool ten minste één exemplaar bevat.
Snelle taak
Een snelle taak in de agentgroep in de wachtrij plaatsen met behulp van de opdracht az acr build en de --agent-pool
parameter doorgeven:
az acr build \
--registry MyRegistry \
--agent-pool myagentpool \
--image myimage:mytag \
--file Dockerfile \
https://github.com/Azure-Samples/acr-build-helloworld-node.git#main
Automatisch geactiveerde taak
Maak bijvoorbeeld een geplande taak in de agentgroep met az acr task create, waarbij de --agent-pool
parameter wordt doorgegeven.
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
Voer az acr task run uit om de installatie van de taak te controleren:
az acr task run \
--registry MyRegistry \
--name mytask
Status van querygroep
Voer az acr agentpool show uit om het aantal uitvoeringen te vinden dat momenteel is gepland in de agentgroep.
az acr agentpool show \
--registry MyRegistry \
--name myagentpool \
--queue-count
Volgende stappen
Bekijk de zelfstudiereeks ACR Tasks voor meer voorbeelden van builds en onderhoud van containerinstallatiekopieën in de cloud.