Sdílet prostřednictvím


Spuštění úlohy ACR ve vyhrazeném fondu agentů

Nastavte fond virtuálních počítačů spravovaných Azure (fond agentů) tak, aby umožňoval spouštění úloh služby Azure Container Registry ve vyhrazeném výpočetním prostředí. Po nakonfigurování jednoho nebo více fondů v registru můžete zvolit fond pro spuštění úlohy místo výchozího výpočetního prostředí služby.

Fond agentů poskytuje:

  • Podpora virtuální sítě – Přiřazení fondu agentů k virtuální síti Azure, poskytování přístupu k prostředkům ve virtuální síti, jako je registr kontejneru, trezor klíčů nebo úložiště.
  • Škálování podle potřeby – Zvyšte počet instancí ve fondu agentů pro úlohy náročné na výpočetní výkon nebo škálujte na nulu. Fakturace je založená na přidělení fondu. Podrobnosti najdete v tématu Ceny.
  • Flexibilní možnosti – můžete si vybrat z různých úrovní fondu a možností škálování, aby vyhovovaly vašim potřebám úloh.
  • Správa Azure – Fondy úloh se opravují a spravují v Azure a poskytují rezervované přidělení, aniž by bylo nutné udržovat jednotlivé virtuální počítače.

Tato funkce je k dispozici ve vrstvě služby Registru kontejneru Premium . Informace o úrovních a omezeních služby registru najdete v tématu Skladové položky služby Azure Container Registry.

Důležité

Tato funkce je aktuálně ve verzi Preview a platí některá omezení. Verze Preview vám zpřístupňujeme pod podmínkou, že budete souhlasit s dodatečnými podmínkami použití. Některé aspekty této funkce se můžou před zveřejněním změnit.

Omezení verze Preview

  • Fondy agentů úloh aktuálně podporují uzly Linuxu. Uzly Windows se v současné době nepodporují.
  • Fondy agentů úloh jsou dostupné ve verzi Preview v následujících oblastech: USA – západ 2, USA – středojiž, USA – východ 2, USA – východ, USA – střed, Západní Evropa, Severní Evropa, Kanada – střed, Východní Asie, Švýcarsko – sever, USGov Arizona, USGov Texas a USGov Virginia.
  • Pro každý registr je výchozí celková kvóta vCPU (core) 16 pro všechny standardní fondy agentů a je 0 pro izolované fondy agentů. Otevřete žádost o podporu pro další přidělení.

Požadavky

  • K použití kroků Azure CLI v tomto článku se vyžaduje Azure CLI verze 2.3.1 nebo novější. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI. Nebo spusťte v Azure Cloud Shellu.
  • Pokud ještě nemáte registr kontejneru, vytvořte jednu (vyžaduje se úroveň Premium) v oblasti Preview.

Úrovně fondu

Úrovně fondu agentů poskytují následující prostředky na instanci ve fondu.

Úroveň Typ Procesor Paměť (GB)
S1 standard 2 3
S2 standard 4 8
S3 standard 8 16
I6 izolovaný 64 216

Vytvoření a správa fondu agentů úloh

Nastavení výchozího registru (volitelné)

Pokud chcete zjednodušit následující příkazy Azure CLI, nastavte výchozí registr spuštěním příkazu az config :

az config set defaults.acr=<registryName>

Následující příklady předpokládají, že jste nastavili výchozí registr. Pokud ne, předejte --registry <registryName> parametr v každém az acr příkazu.

Vytvoření fondu agentů

Vytvořte fond agentů pomocí příkazu az acr agentpool create . Následující příklad vytvoří fond vrstvy S2 (4 cpu/instance). Ve výchozím nastavení fond obsahuje 1 instanci.

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

Poznámka:

Vytvoření fondu agentů a dalších operací správy fondu trvá několik minut.

Škálování fondu

Pomocí příkazu az acr agentpool update škálujte velikost fondu nahoru nebo dolů. Následující příklad škáluje fond na 2 instance. Kapacitu můžete škálovat na 0 instancí.

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

Vytvoření fondu ve virtuální síti

Přidání pravidel brány firewall

Fondy agentů úloh vyžadují přístup k následujícím službám Azure. Následující pravidla brány firewall musí být přidána do všech existujících skupin zabezpečení sítě nebo tras definovaných uživatelem.

Směr Protokol Zdroj Zdrojový port Cíl Dest Port Used (užíván) Poznámky
Odchozí TCP VirtualNetwork Všechny AzureKeyVault 443 Výchozí
Odchozí TCP VirtualNetwork Všechny Úložiště 443 Výchozí
Odchozí TCP VirtualNetwork Všechny Centrum událostí 443 Výchozí
Odchozí TCP VirtualNetwork Všechny AzureActiveDirectory 443 Výchozí
Odchozí TCP VirtualNetwork Všechny AzureMonitor 443,12000 Výchozí Port 12000 je jedinečný port používaný pro diagnostiku.

Poznámka:

Pokud vaše úkoly vyžadují další zdroje z veřejného internetu, přidejte odpovídající pravidla. Například pro spuštění úlohy sestavení Dockeru, která načte základní image z Docker Hubu, nebo obnoví balíček NuGet, jsou potřeba další pravidla.

Zákazníci, kteří zakládají nasazení pomocí MCR, můžou odkazovat na pravidla brány firewall MCR/MAR.

Pokročilá konfigurace sítě

Pokud jsou standardní pravidla brány firewall nebo skupiny zabezpečení sítě (skupina zabezpečení sítě) považována za příliš přesvědčivá a pro odchozí připojení je potřeba jemněji odstupňovaná kontrola, zvažte následující přístup:

  • Povolte koncové body služby v podsíti fondu agentů. Tím se udělí fondu agentů přístup ke závislostem služeb při zachování zabezpečeného stavu sítě.
  • Je důležité si uvědomit, že odchozí pravidla brány firewall nebo skupiny zabezpečení sítě jsou stále nezbytná. Tato pravidla usnadňují možnost virtuální sítě přepnout zdrojovou IP adresu z veřejné na privátní, což je další krok nad rámec povolení koncových bodů služby.

Další informace o koncových bodech služby najdete tady.

Minimálně se budou vyžadovat následující koncové body služby.

  • Microsoft.AzureActiveDirectory
  • Microsoft.ContainerRegistry
  • Microsoft.EventHub
  • Microsoft.KeyVault
  • Microsoft.Storage (nebo odpovídající oblasti úložiště s ohledem na geografickou replikaci)

Poznámka:

V současné době neexistuje koncový bod služby pro Azure Monitor. Pokud odchozí provoz pro Azure Monitor není nakonfigurovaný, fond agentů nebude moct generovat diagnostické protokoly, ale může se zdát, že stále funguje normálně. V takovém případě se službě ACR nepodaří plně vyřešit problémy, ke kterým došlo, takže je důležité, aby správce sítě při plánování konfigurace sítě tento problém zohlednil.

Je také důležité si uvědomit, že všechny úlohy ACR mají předpamětní image pro některé z běžnějších případů použití. Úkoly uloží do mezipaměti jenom jednu verzi najednou, což znamená, že pokud se použije plně označený odkaz na image, agent sestavení se pokusí image načíst. Například běžný případ použití je cmd: mcr.microsoft.com/acr/acr-cli:<tag>. Verze předpamětí se ale často aktualizuje, což znamená, že skutečná verze na počítači bude pravděpodobně vyšší. V tomto případě musí konfigurace sítě nakonfigurovat trasu pro odchozí provoz do cílového hostitele registru, který by v příkladu výše byl mcr.microsoft.com. Stejná pravidla platí pro jakýkoli jiný externí veřejný registr (docker.io, quay.io, ghcr.io atd.).

Vytvoření fondu ve virtuální síti

Následující příklad vytvoří fond agentů v podsíti mysubnet sítě 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

Spuštění úlohy ve fondu agentů

Následující příklady ukazují, jak určit fond agentů při řazení úloh do fronty.

Poznámka:

Pokud chcete použít fond agentů v úloze ACR, ujistěte se, že fond obsahuje alespoň 1 instanci.

Rychlý úkol

Zařadíte rychlou úlohu do fondu agentů pomocí příkazu az acr build a předejte --agent-pool parametr:

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

Automaticky aktivovaný úkol

Například vytvořte naplánovanou úlohu ve fondu agentů pomocí příkazu az acr task create a předáte --agent-pool parametr.

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

Pokud chcete ověřit nastavení úlohy, spusťte příkaz az acr task run:

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

Stav fondu dotazů

Pokud chcete zjistit počet spuštění aktuálně naplánovaných ve fondu agentů, spusťte příkaz az acr agentpool show.

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

Další kroky

Další příklady sestavení a údržby imagí kontejnerů v cloudu najdete v sérii kurzů ACR Tasks.