ACR-feladat futtatása dedikált ügynökkészleten
Állítson be egy Azure-beli felügyelt virtuálisgép-készletet (ügynökkészletet) az Azure Container Registry-feladatok dedikált számítási környezetben való futtatásának engedélyezéséhez. Miután konfigurált egy vagy több készletet a beállításjegyzékben, választhat egy készletet, amely a szolgáltatás alapértelmezett számítási környezete helyett futtat egy feladatot.
Az ügynökkészlet a következő lehetőségeket biztosítja:
- Virtuális hálózat támogatása – Ügynökkészlet hozzárendelése egy Azure-beli virtuális hálózathoz, amely hozzáférést biztosít a virtuális hálózat erőforrásaihoz, például tárolóregisztrációs adatbázishoz, kulcstartóhoz vagy tárolóhoz.
- Igény szerint skálázás – Növelje az ügynökkészlet példányainak számát a nagy számítási igényű feladatokhoz, vagy skálázza nullára. A számlázás a készletfoglaláson alapul. További részletekért lásd : Díjszabás.
- Rugalmas lehetőségek – Különböző készletszintek és méretezési lehetőségek közül választhat a tevékenységprofil igényeinek megfelelően.
- Azure-felügyelet – A feladatkészleteket az Azure kijavítja és karbantartja, fenntartott foglalást biztosítva anélkül, hogy az egyes virtuális gépeket kellene karbantartania.
Ez a funkció a Prémium szintű tárolóregisztrációs szolgáltatási szinten érhető el. A beállításjegyzék szolgáltatási szintjeiről és korlátairól további információt az Azure Container Registry termékváltozatai című témakörben talál.
Fontos
Ez a funkció jelenleg előzetes verzióban érhető el, és bizonyos korlátozások érvényesek. Az előzetes verziók azzal a feltétellel érhetők el, hogy Ön beleegyezik a kiegészítő használati feltételekbe. A szolgáltatás néhány eleme megváltozhat a nyilvános rendelkezésre állás előtt.
Előzetes verzióra vonatkozó korlátozások
- A tevékenységügynök-készletek jelenleg támogatják a Linux-csomópontokat. A Windows-csomópontok jelenleg nem támogatottak.
- A feladatügynök-készletek előzetes verzióban érhetők el az alábbi régiókban: USA 2. nyugati régiója, USA déli középső régiója, USA 2. keleti régiója, USA keleti régiója, USA középső régiója, Nyugat-Európa, Észak-Európa, Közép-Kanada, Kelet-Ázsia, Észak-Svájc, USGov Arizona, USGov Texas és USGov Virginia.
- Minden beállításjegyzék esetében az alapértelmezett vCPU-kvóta (mag) az összes standard ügynökkészlet esetében 16, az izolált ügynökkészletek esetében pedig 0. Nyisson meg egy támogatási kérést a további foglaláshoz.
Előfeltételek
- A cikkben szereplő Azure CLI-lépések használatához az Azure CLI 2.3.1-es vagy újabb verziójára van szükség. Ha telepíteni vagy frissíteni szeretne: Az Azure CLI telepítése. Vagy futtassa az Azure Cloud Shellben.
- Ha még nem rendelkezik tárolóregisztrációs adatbázissal, hozzon létre egyet (prémium szintű szükséges) egy előzetes verziójú régióban.
Készletszintek
Az ügynökkészlet szintjei példányonként az alábbi erőforrásokat biztosítják a készletben.
Szint | Típus | CPU | Memória (GB) |
---|---|---|---|
S1 | normál | 2 | 3 |
S2 | normál | 4 | 8 |
S3 | normál | 8 | 16 |
I6 | izolált | 64 | 216 |
Tevékenységügynök-készlet létrehozása és kezelése
Alapértelmezett beállításjegyzék beállítása (nem kötelező)
Az alábbi Azure CLI-parancsok egyszerűsítése érdekében állítsa be az alapértelmezett beállításjegyzéket az az config parancs futtatásával:
az config set defaults.acr=<registryName>
Az alábbi példák feltételezik, hogy beállította az alapértelmezett beállításjegyzéket. Ha nem, adjon meg egy paramétert --registry <registryName>
az egyes az acr
parancsokban.
Ügynökkészlet létrehozása
Hozzon létre egy ügynökkészletet az az acr agentpool létrehozási parancsával. Az alábbi példa létrehoz egy S2 szintű készletet (4 CPU/példány). Alapértelmezés szerint a készlet 1 példányt tartalmaz.
az acr agentpool create \
--registry MyRegistry \
--name myagentpool \
--tier S2
Feljegyzés
Az ügynökkészlet és más készletkezelési műveletek létrehozása több percet vesz igénybe.
Készlet méretezése
A készlet méretét felfelé vagy lefelé skálázhatja az az acr agentpool frissítési parancsával. Az alábbi példa 2 példányra skálázza a készletet. 0 példányra méretezhető.
az acr agentpool update \
--registry MyRegistry \
--name myagentpool \
--count 2
Készlet létrehozása virtuális hálózaton
Tűzfalszabályok hozzáadása
A tevékenységügynök-készleteknek hozzáférést kell biztosítaniuk az alábbi Azure-szolgáltatásokhoz. A következő tűzfalszabályokat minden meglévő hálózati biztonsági csoporthoz vagy felhasználó által megadott útvonalhoz hozzá kell adni.
Irány | Protokoll | Forrás | Forrásport | Cél | Dest Port | Felhasználva | Megjegyzések |
---|---|---|---|---|---|---|---|
Kimenő | TCP | VirtualNetwork | Bármely | AzureKeyVault | 443 | Alapértelmezett | |
Kimenő | TCP | VirtualNetwork | Bármely | Tárolás | 443 | Alapértelmezett | |
Kimenő | TCP | VirtualNetwork | Bármely | EventHub | 443 | Alapértelmezett | |
Kimenő | TCP | VirtualNetwork | Bármely | AzureActiveDirectory | 443 | Alapértelmezett | |
Kimenő | TCP | VirtualNetwork | Bármely | AzureMonitor | 443,12000 | Alapértelmezett | Az 12000-s port egy egyedi port, amelyet diagnosztikai célokra használnak |
Feljegyzés
Ha a tevékenységekhez további erőforrásokra van szükség a nyilvános internetről, adja hozzá a megfelelő szabályokat. Például további szabályokra van szükség egy docker buildelési feladat futtatásához, amely lekéri az alaplemezképeket a Docker Hubról, vagy visszaállít egy NuGet-csomagot.
Az MCR-sel megerősített ügyfelek hivatkozhatnak az MCR/MAR tűzfalszabályokra .
Speciális hálózati konfiguráció
Ha a szabványos tűzfal-/NSG-szabályok (hálózati biztonsági csoport) túl megengedőnek minősülnek, és a kimenő kapcsolatokhoz részletesebb vezérlésre van szükség, vegye figyelembe a következő megközelítést:
- Szolgáltatásvégpontok engedélyezése az ügynökkészlet alhálózatán. Ez hozzáférést biztosít az ügynökkészletnek a szolgáltatásfüggőségeihez, miközben fenntartja a biztonságos hálózati állapotot.
- Fontos megjegyezni, hogy a kimenő tűzfal-/NSG-szabályokra továbbra is szükség van. Ezek a szabályok megkönnyítik a virtuális hálózat azon képességét, hogy a forrás IP-címet nyilvánosról privátra váltsa, ami további lépés a szolgáltatásvégpontok engedélyezésén túl.
A szolgáltatásvégpontokról itt talál további információt.
Legalább a következő szolgáltatásvégpontokra lesz szükség
- Microsoft.AzureActiveDirectory
- Microsoft.ContainerRegistry
- Microsoft.EventHub
- Microsoft.KeyVault
- Microsoft.Storage (vagy a földrajzi replikációt figyelembe vevő megfelelő tárolási régiók)
Feljegyzés
Az Azure Monitor szolgáltatásvégpontja jelenleg nem létezik. Ha az Azure Monitor kimenő forgalma nincs konfigurálva, az ügynökkészlet nem tud diagnosztikai naplókat kibocsátani, de úgy tűnhet, hogy továbbra is normálisan működik. Ebben az esetben az ACR nem tud teljes körűen elhárítani a felmerülő problémákat, ezért fontos, hogy a hálózati rendszergazda vegye figyelembe ezt a hálózati konfiguráció tervezésekor.
Azt is fontos megjegyezni, hogy az összes ACR-feladat előre gyorsítótárazott lemezképeket tartalmaz néhány gyakori használati esethez. A feladatok egyszerre csak egyetlen verziót gyorsítótáraznak, ami azt jelenti, hogy ha a teljes címkével ellátott képhivatkozást használja, akkor a buildügynök megpróbálja lekérni a képet. Egy gyakori használati eset például a következő cmd: mcr.microsoft.com/acr/acr-cli:<tag>
: . Az előre gyorsítótárazott verziót azonban gyakran frissítik, ami azt jelenti, hogy a gép tényleges verziója valószínűleg magasabb lesz. Ebben az esetben a hálózati konfigurációnak konfigurálnia kell egy útvonalat a célregisztrációs adatbázis-gazdagép felé irányuló kimenő forgalomhoz, amely a fenti példában mcr.microsoft.com lenne. Ugyanezek a szabályok vonatkoznak minden más külső nyilvános jegyzékre (docker.io, quay.io, ghcr.io stb.).
Készlet létrehozása a virtuális hálózaton
Az alábbi példa létrehoz egy ügynökkészletet a hálózati myvnet mysubnet alhálózatában:
# 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
Feladat futtatása ügynökkészleten
Az alábbi példák azt mutatják be, hogyan adhat meg ügynökkészletet egy feladat sorba helyezésekor.
Feljegyzés
Ha ügynökkészletet szeretne használni egy ACR-feladatban, győződjön meg arról, hogy a készlet legalább 1 példányt tartalmaz.
Gyors feladat
Várjon egy gyors feladatot az ügynökkészleten az az acr buildelési paranccsal, és adja át a paramétert --agent-pool
:
az acr build \
--registry MyRegistry \
--agent-pool myagentpool \
--image myimage:mytag \
--file Dockerfile \
https://github.com/Azure-Samples/acr-build-helloworld-node.git#main
Automatikusan aktivált tevékenység
Hozzon létre például egy ütemezett feladatot az ügynökkészleten az acr-tevékenység létrehozásával, és adja át a --agent-pool
paramétert.
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
A feladat beállításának ellenőrzéséhez futtassa az az acr feladatfuttatást:
az acr task run \
--registry MyRegistry \
--name mytask
Lekérdezéskészlet állapota
Az ügynökkészleten jelenleg ütemezett futtatások számának megkereséséhez futtassa az az acr agentpool show-t.
az acr agentpool show \
--registry MyRegistry \
--name myagentpool \
--queue-count
Következő lépések
A tárolórendszerképek felhőbeli buildelésére és karbantartására vonatkozó további példákért tekintse meg az ACR Tasks oktatóanyag-sorozatát.