Rövid útmutató: Batch-fiók létrehozása és feladat futtatása az Azure CLI használatával

Ez a rövid útmutató bemutatja, hogyan kezdheti el az Azure Batch használatát Azure CLI-parancsokkal és szkriptekkel Batch-erőforrások létrehozásához és kezeléséhez. Létrehozhat egy Batch-fiókot, amely virtuális gépek vagy számítási csomópontok készletével rendelkezik. Ezután létrehozhat és futtathat egy feladatot a készletcsomópontokon futó feladatokkal.

A rövid útmutató elvégzése után megismerheti a Batch szolgáltatás alapvető fogalmait, és készen áll a Batch reálisabb, nagyobb méretű számítási feladatok használatára.

Előfeltételek

  • If you don't have an Azure subscription, create an Azure free account before you begin.

  • Azure Cloud Shell vagy Azure CLI.

    Ebben a rövid útmutatóban interaktívan futtathatja az Azure CLI-parancsokat az Azure Cloud Shellben. A Cloud Shell parancsainak futtatásához válassza a Kódblokk jobb felső sarkában található Open CloudShell lehetőséget . Válassza a Másolás lehetőséget a kód másolásához, majd illessze be a Cloud Shellbe a futtatáshoz. A Cloud Shellt az Azure Portalon is futtathatja. A Cloud Shell mindig az Azure CLI legújabb verzióját használja.

    Másik lehetőségként helyileg is telepítheti az Azure CLI-t a parancsok futtatásához. A cikkben ismertetett lépésekhez az Azure CLI 2.0.20-s vagy újabb verziója szükséges. Futtassa az az verziót a telepített verzió és a függő kódtárak megtekintéséhez, és futtassa az az upgrade-t a frissítéshez. Ha helyi telepítést használ, jelentkezzen be az Azure-ba az az login paranccsal.

Megjegyzés:

Egyes régiók és előfizetéstípusok esetében a kvótakorlátozások miatt a Batch-fiók vagy a csomópont létrehozása meghiúsulhat, vagy nem fejeződhet be. Ebben az esetben díjmentesen kérheti a kvótanövelést. További információ: Batch szolgáltatáskvóták és korlátok.

Erőforráscsoport létrehozása

Futtassa az alábbi az group create parancsot az Azure-régióban eastus2 elnevezett qsBatch Azure-erőforráscsoport létrehozásához. Az erőforráscsoport egy logikai tároló, amely az Azure-erőforrásokat tartalmazza ehhez a rövid útmutatóhoz.

az group create \
    --name qsBatch \
    --location eastus2

Tárfiók létrehozása

Az az storage account create paranccsal hozzon létre egy Azure Storage-fiókot a Batch-fiókhoz való csatoláshoz. Bár ez a rövid útmutató nem használja a tárfiókot, a legtöbb valós Batch-számítási feladat egy társított tárfiókot használ az alkalmazások üzembe helyezéséhez, valamint a bemeneti és kimeneti adatok tárolásához.

Futtassa a következő parancsot az erőforráscsoportban elnevezett mybatchstorage Standard_LRS termékváltozat-tárfiók létrehozásához:

az storage account create \
    --resource-group qsBatch \
    --name mybatchstorage \
    --location eastus2 \
    --sku Standard_LRS

Batch-fiók létrehozása

Futtassa az alábbi az batch account create parancsot az erőforráscsoportban elnevezett mybatchaccount Batch-fiók létrehozásához és a mybatchstorage tárfiókhoz való csatolásához.

az batch account create \
    --name mybatchaccount \
    --storage-account mybatchstorage \
    --resource-group qsBatch \
    --location eastus2

Jelentkezzen be az új Batch-fiókba az az batch-fiók bejelentkezési parancsának futtatásával. Miután hitelesítette a fiókját a Batch használatával, a munkamenet későbbi az batch parancsai ezt a fiókkörnyezetet használják.

az batch account login \
    --name mybatchaccount \
    --resource-group qsBatch \
    --shared-key-auth

Számításicsomópont-készlet létrehozása

Futtassa az az batch pool create parancsot linuxos számítási csomópontok készletének létrehozásához a Batch-fiókban. Az alábbi példa létrehoz egy készletet myPool , amely két Standard_A1_v2 méretű, Ubuntu 20.04 LTS operációs rendszert futtató virtuális gépből áll. Ez a csomópontméret a teljesítmény és a költségek jó egyensúlyát kínálja ebben a rövid útmutatóban.

az batch pool create \
    --id myPool \
    --image canonical:0001-com-ubuntu-server-focal:20_04-lts \
    --node-agent-sku-id "batch.node.ubuntu 20.04" \
    --target-dedicated-nodes 2 \
    --vm-size Standard_A1_v2

A Batch azonnal létrehozza a készletet, de a számítási csomópontok lefoglalása és elindítása néhány percet vesz igénybe. A készlet állapotának megtekintéséhez használja az az batch pool show parancsot. Ez a parancs a készlet összes tulajdonságát megjeleníti, és lehetővé teszi konkrét tulajdonságok lekérdezését. A következő parancs lekérdezi a készletfoglalási állapotot:

az batch pool show --pool-id myPool \
    --query "allocationState"

Bár a Batch lefoglalja és elindítja a csomópontokat, a készlet állapotban resizing van. Létrehozhat feladatokat és tevékenységeket, amíg a készlet állapota még nem resizingáll rendelkezésre. A készlet akkor áll készen tevékenységek futtatására, amikor a lefoglalási állapota steady értékre vált, és minden csomópont fut.

Feladat létrehozása

Az az batch job create paranccsal hozzon létre egy Batch-feladatot a készleten való futtatáshoz. A Batch-feladatok egy vagy több tevékenység logikai csoportja. A feladat tartalmazza a tevékenységekhez gyakran használt beállításokat, például a futtatandó készletet. Az alábbi példa létrehoz egy olyan feladatot, myJobmyPool amely kezdetben nem rendelkezik feladatokkal.

az batch job create \
    --id myJob \
    --pool-id myPool

Feladatfeladatok létrehozása

A Batch többféleképpen is üzembe helyezhet alkalmazásokat és szkripteket a számítási csomópontokon. A feladatban futtatandó feladatok létrehozásához használja az az batch task create parancsot. Minden feladathoz tartozik egy parancssor, amely egy alkalmazást vagy szkriptet határoz meg.

A következő Bash-szkript négy azonos, párhuzamos feladatot myTask1myTask4hoz létre. A feladat parancssora megjeleníti a Batch környezeti változóit a számítási csomóponton, majd 90 másodpercet vár.

for i in {1..4}
do
   az batch task create \
    --task-id myTask$i \
    --job-id myJob \
    --command-line "/bin/bash -c 'printenv | grep AZ_BATCH; sleep 90s'"
done

A parancs kimenete az egyes tevékenységek beállításait jeleníti meg. A Batch kiosztja a feladatokat a számítási csomópontoknak.

Tevékenységek állapotának megtekintése

A tevékenység létrehozása után a Batch várólistára állítja a készleten futtatandó feladatot. Ha egy csomópont elérhetővé válik, a feladat a csomóponton fut.

A Batch-tevékenységek állapotának megtekintéséhez használja az az batch task show parancsot. Az alábbi példa a következő állapot myTask1részleteit mutatja be:

az batch task show \
    --job-id myJob \
    --task-id myTask1

A parancs kimenete számos részletet tartalmaz. Egy példa például azt jelzi, exitCode0 hogy a feladatparancs sikeresen befejeződött. Az nodeId ábrán a tevékenységet futtató készletcsomópont neve látható.

A tevékenység kimenetének megtekintése

Az az batch task file list paranccsal listázhatja a csomóponton létrehozott feladat fájljait. A következő parancs felsorolja a létrehozott fájlokat myTask1 :

az batch task file list \
    --job-id myJob \
    --task-id myTask1 \
    --output table

Az eredmények a következő kimenethez hasonlóak:

Name        URL                                                                                       Is Directory    Content Length
----------  ----------------------------------------------------------------------------------------  --------------  ----------------
stdout.txt  https://mybatchaccount.eastus2.batch.azure.com/jobs/myJob/tasks/myTask1/files/stdout.txt  False                  695
certs       https://mybatchaccount.eastus2.batch.azure.com/jobs/myJob/tasks/myTask1/files/certs       True
wd          https://mybatchaccount.eastus2.batch.azure.com/jobs/myJob/tasks/myTask1/files/wd          True
stderr.txt  https://mybatchaccount.eastus2.batch.azure.com/jobs/myJob/tasks/myTask1/files/stderr.txt  False                    0

Az az batch task file download parancs letölti a kimeneti fájlokat egy helyi könyvtárba. Futtassa az alábbi példát az stdout.txt fájl letöltéséhez :

az batch task file download \
    --job-id myJob \
    --task-id myTask1 \
    --file-path stdout.txt \
    --destination ./stdout.txt

A szabványos kimeneti fájl tartalmát egy szövegszerkesztőben tekintheti meg. Az alábbi példa egy tipikus stdout.txt fájlt mutat be. A feladat standard kimenete a csomóponton beállított Azure Batch környezeti változókat jeleníti meg. Ezekre a környezeti változókra a Batch-feladat feladat parancssoraiban, az alkalmazásokban és szkriptekben pedig a parancssorok futnak.

AZ_BATCH_TASK_DIR=/mnt/batch/tasks/workitems/myJob/job-1/myTask1
AZ_BATCH_NODE_STARTUP_DIR=/mnt/batch/tasks/startup
AZ_BATCH_CERTIFICATES_DIR=/mnt/batch/tasks/workitems/myJob/job-1/myTask1/certs
AZ_BATCH_ACCOUNT_URL=https://mybatchaccount.eastus2.batch.azure.com/
AZ_BATCH_TASK_WORKING_DIR=/mnt/batch/tasks/workitems/myJob/job-1/myTask1/wd
AZ_BATCH_NODE_SHARED_DIR=/mnt/batch/tasks/shared
AZ_BATCH_TASK_USER=_azbatch
AZ_BATCH_NODE_ROOT_DIR=/mnt/batch/tasks
AZ_BATCH_JOB_ID=myJobl
AZ_BATCH_NODE_IS_DEDICATED=true
AZ_BATCH_NODE_ID=tvm-257509324_2-20180703t215033z
AZ_BATCH_POOL_ID=myPool
AZ_BATCH_TASK_ID=myTask1
AZ_BATCH_ACCOUNT_NAME=mybatchaccount
AZ_BATCH_TASK_USER_IDENTITY=PoolNonAdmin

Clean up resources

Ha folytatni szeretné a Batch-oktatóanyagokat és -mintákat, használhatja az ebben a rövid útmutatóban létrehozott Batch-fiókot és társított tárfiókot. Maga a Batch-fiók nem számít fel díjat.

A készletek és csomópontok díjakat vonnak maguk után, amíg a csomópontok futnak, még akkor is, ha nem futtatnak feladatokat. Ha már nincs szüksége készletre, a törléshez használja az az batch pool delete parancsot. A készlet törlése törli a csomópontok összes tevékenységkimenetét, és maguk a csomópontok is.

az batch pool delete --pool-id myPool

Ha már nincs szüksége a rövid útmutatóhoz létrehozott erőforrások egyikére sem, az az group delete paranccsal törölheti az erőforráscsoportot és annak összes erőforrását. Az erőforráscsoport és a tárfiók, a Batch-fiók, a csomópontkészletek és az összes kapcsolódó erőforrás törléséhez futtassa a következő parancsot:

az group delete --name qsBatch

Következő lépések

Ebben a rövid útmutatóban létrehozott egy Batch-fiókot és -készletet, létrehozott és futtatott egy Batch-feladatot és -feladatokat, és megtekintette a csomópontok tevékenységkimenetét. Most, hogy megismerte a Batch szolgáltatás főbb fogalmait, készen áll a Batch reálisabb, nagyobb méretű számítási feladatok használatára. Az Azure Batchről további információt az Azure Batch-oktatóanyagokban találhat.