Uruchamianie zadania ACR w dedykowanej puli agentówRun an ACR task on a dedicated agent pool

Skonfiguruj zarządzaną przez platformę Azure pulę maszyn wirtualnych (pulę agentów), aby umożliwić Azure Container Registry zadań w dedykowanym środowisku obliczeniowym.Set up an Azure-managed VM pool (agent pool) to enable running your Azure Container Registry tasks in a dedicated compute environment. Po skonfigurowaniu co najmniej jednej puli w rejestrze można wybrać pulę do uruchomienia zadania w miejsce domyślnego środowiska obliczeniowego usługi.After you've configured one or more pools in your registry, you can choose a pool to run a task in place of the service's default compute environment.

Pula agentów zapewnia:An agent pool provides:

  • Obsługa sieci wirtualnej — przypisz pulę agentów do sieci wirtualnej platformy Azure, zapewniając dostęp do zasobów w sieci wirtualnej, takich jak rejestr kontenerów, magazyn kluczy lub magazyn.Virtual network support - Assign an agent pool to an Azure VNet, providing access to resources in the VNet such as a container registry, key vault, or storage.
  • Skaluj zgodnie z potrzebami — zwiększ liczbę wystąpień w puli agentów dla zadań wymagających intensywnych obliczeń lub skaluj do zera.Scale as needed - Increase the number of instances in an agent pool for compute-intensive tasks, or scale to zero. Rozliczenia są oparte na alokacji puli.Billing is based on pool allocation. Aby uzyskać szczegółowe informacje, zobacz Cennik.For details, see Pricing.
  • Elastyczne opcje — wybierz jedną z różnych warstw puli i opcji skalowania, aby spełnić potrzeby obciążeń zadań.Flexible options - Choose from different pool tiers and scale options to meet your task workload needs.
  • Zarządzanie platformą Azure — pule zadań są poprawiane i konserwowane przez platformę Azure, zapewniając zarezerwowaną alokację bez konieczności obsługi poszczególnych maszyn wirtualnych.Azure management - Task pools are patched and maintained by Azure, providing reserved allocation without the need to maintain the individual VMs.

Ta funkcja jest dostępna w warstwie usługi rejestru kontenerów Premium.This feature is available in the Premium container registry service tier. Aby uzyskać informacje o warstwach i limitach usługi rejestru, zobacz Azure Container Registry SKU.For information about registry service tiers and limits, see Azure Container Registry SKUs.

Ważne

Ta funkcja jest obecnie dostępna w wersji zapoznawczej i obowiązują pewne ograniczenia.This feature is currently in preview, and some limitations apply. Wersje zapoznawcze są udostępniane pod warunkiem udzielenia zgody na dodatkowe warunki użytkowania.Previews are made available to you on the condition that you agree to the supplemental terms of use. Niektóre cechy funkcji mogą ulec zmianie, zanim stanie się ona ogólnie dostępna.Some aspects of this feature may change prior to general availability (GA).

Ograniczenia wersji zapoznawczejPreview limitations

  • Pule agentów zadań obsługują obecnie węzły systemu Linux.Task agent pools currently support Linux nodes. Węzły systemu Windows nie są obecnie obsługiwane.Windows nodes aren't currently supported.
  • Pule agentów zadań są dostępne w wersji zapoznawczej w następujących regionach: Zachodnie stany USA 2, Południowo-środkowe stany USA, Wschodnie stany USA 2, Wschodnie stany USA, Środkowe stany USA, Europa Zachodnia, Europa Północna, Kanada Środkowa, USGov Arizona, USGov Teksas i USGov Wirginia.Task agent pools are available in preview in the following regions: West US 2, South Central US, East US 2, East US, Central US, West Europe, North Europe, Canada Central, USGov Arizona, USGov Texas, and USGov Virginia.
  • Dla każdego rejestru domyślny całkowity limit przydziału procesorów wirtualnych (rdzeni) wynosi 16 dla wszystkich standardowych pul agentów i wynosi 0 dla izolowanych pul agentów.For each registry, the default total vCPU (core) quota is 16 for all standard agent pools and is 0 for isolated agent pools. Otwórz wniosek o pomoc techniczną w celu dodatkowej alokacji.Open a support request for additional allocation.
  • Obecnie nie można anulować uruchomienia zadania w puli agentów.You can't currently cancel a task run on an agent pool.

Wymagania wstępnePrerequisites

  • Aby wykonać kroki interfejsu wiersza polecenia platformy Azure opisane w tym artykule, wymagany jest interfejs wiersza polecenia platformy Azure w wersji 2.3.1 lub nowszej.To use the Azure CLI steps in this article, Azure CLI version 2.3.1 or later is required. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.If you need to install or upgrade, see Install Azure CLI. Lub uruchom w Azure Cloud Shell.Or run in Azure Cloud Shell.
  • Jeśli nie masz jeszcze rejestru kontenerów, utwórz go (wymagana warstwa Premium) w regionie w wersji zapoznawczej.If you don't already have a container registry, create one (Premium tier required) in a preview region.

Warstwy puliPool tiers

Warstwy puli agentów zapewniają następujące zasoby dla każdego wystąpienia w puli.Agent pool tiers provide the following resources per instance in the pool.

WarstwaTier TypType Procesor CPUCPU Pamięć (GB)Memory (GB)
S1S1 Standardowychstandard 22 33
S2S2 Standardowychstandard 44 88
S3S3 Standardowychstandard 88 1616
I6I6 Izolowaneisolated 6464 216216

Tworzenie puli agentów zadań i zarządzanie nimiCreate and manage a task agent pool

Ustaw rejestr domyślny (opcjonalnie)Set default registry (optional)

Aby uprościć następujące polecenia interfejsu wiersza polecenia platformy Azure, ustaw rejestr domyślny, uruchamiając polecenie az configure:To simplify Azure CLI commands that follow, set the default registry by running the az configure command:

az configure --defaults acr=<registryName>

W poniższych przykładach przyjęto założenie, że ustawiono rejestr domyślny.The following examples assume that you've set the default registry. Jeśli nie, przekaż --registry <registryName> parametr w każdym az acr poleceniu.If not, pass a --registry <registryName> parameter in each az acr command.

Tworzenie puli agentówCreate agent pool

Utwórz pulę agentów za pomocą polecenia az acr agentpool create.Create an agent pool by using the az acr agentpool create command. Poniższy przykład tworzy pulę warstwy S2 (4 procesory CPU/wystąpienie).The following example creates a tier S2 pool (4 CPU/instance). Domyślnie pula zawiera 1 wystąpienie.By default, the pool contains 1 instance.

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

Uwaga

Tworzenie puli agentów i innych operacji zarządzania pulą trwa kilka minut.Creating an agent pool and other pool management operations take several minutes to complete.

Skalowanie puliScale pool

Skaluj rozmiar puli w górę lub w dół za pomocą polecenia az acr agentpool update.Scale the pool size up or down with the az acr agentpool update command. Poniższy przykład skaluje pulę do 2 wystąpień.The following example scales the pool to 2 instances. Można skalować do 0 wystąpień.You can scale to 0 instances.

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

Tworzenie puli w sieci wirtualnejCreate pool in a virtual network

Dodawanie reguł zaporyAdd firewall rules

Pule agentów zadań wymagają dostępu do następujących usług platformy Azure.Task agent pools require access to the following Azure services. Poniższe reguły zapory należy dodać do istniejących sieciowych grup zabezpieczeń lub tras zdefiniowanych przez użytkownika.The following firewall rules must be added to any existing network security groups or user-defined routes.

KierunekDirection ProtokółProtocol Element źródłowySource Port źródłowySource Port Element docelowyDestination Dest PortDest Port UżyteUsed
WychodzącyOutbound TCPTCP VirtualNetworkVirtualNetwork DowolneAny AzureKeyVaultAzureKeyVault 443443 DomyślneDefault
WychodzącyOutbound TCPTCP VirtualNetworkVirtualNetwork DowolneAny StorageStorage 443443 DomyślneDefault
WychodzącyOutbound TCPTCP VirtualNetworkVirtualNetwork DowolneAny EventHubEventHub 443443 DomyślneDefault
WychodzącyOutbound TCPTCP VirtualNetworkVirtualNetwork DowolneAny AzureActiveDirectoryAzureActiveDirectory 443443 DomyślneDefault
WychodzącyOutbound TCPTCP VirtualNetworkVirtualNetwork DowolneAny AzureMonitorAzureMonitor 443443 DomyślneDefault

Uwaga

Jeśli zadania wymagają dodatkowych zasobów z publicznego Internetu, dodaj odpowiednie reguły.If your tasks require additional resources from the public internet, add the corresponding rules. Na przykład do uruchomienia zadania kompilacji platformy Docker, które ściąga obrazy podstawowe z Docker Hub lub przywraca pakiet NuGet, potrzebne są dodatkowe reguły.For example, additional rules are needed to run a docker build task that pulls the base images from Docker Hub, or restores a NuGet package.

Tworzenie puli w sieci wirtualnejCreate pool in VNet

Poniższy przykład tworzy pulę agentów w podsieci mysubnet sieci myvnet:The following example creates an agent pool in the mysubnet subnet of network myvnet:

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

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

Uruchamianie zadania w puli agentówRun task on agent pool

Poniższe przykłady pokazują, jak określić pulę agentów podczas kolejkowania zadania.The following examples show how to specify an agent pool when queuing a task.

Uwaga

Aby użyć puli agentów w zadaniu usługi ACR, upewnij się, że pula zawiera co najmniej 1 wystąpienie.To use an agent pool in an ACR task, ensure that the pool contains at least 1 instance.

Szybkie zadanieQuick task

Za pomocą polecenia az acr build za pomocą polecenia az acr build zakoduj szybkie zadanie w puli agentów i przekaż --agent-pool parametr :Queue a quick task on the agent pool by using the az acr build command and pass the --agent-pool parameter:

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

Automatycznie wyzwalane zadanieAutomatically triggered task

Na przykład utwórz zaplanowane zadanie w puli agentów za pomocą funkcji az acr task create, przekazując parametr --agent-pool .For example, create a scheduled task on the agent pool with az acr task create, passing the --agent-pool parameter.

az acr task create \
    --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

Aby zweryfikować konfigurację zadania, uruchom az acr task run:To verify task setup, run az acr task run:

az acr task run \
    --name mytask

Stan puli zapytańQuery pool status

Aby znaleźć liczbę przebiegów aktualnie zaplanowanych w puli agentów, uruchom az acr agentpool show.To find the number of runs currently scheduled on the agent pool, run az acr agentpool show.

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

Następne krokiNext steps

Aby uzyskać więcej przykładów kompilacji i konserwacji obrazu kontenera w chmurze, zapoznaj się z zadania usługi ACR samouczkiem.For more examples of container image builds and maintenance in the cloud, check out the ACR Tasks tutorial series.