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
-
Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.
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.
Feljegyzé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, myJob
myPool
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 myTask1
myTask4
hoz 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 myTask1
ré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, exitCode
0
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 a 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=myJob
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
Az erőforrások eltávolítása
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.