Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Azure Batch PowerShell parancsokkal sok gyakori Batch feladatot hajthatsz végre és scriptelhetsz. Ez egy gyors bevezető azokhoz a cmdletekhez, amelyeket a Batch-fiókok kezeléséhez és a Batch-erőforrásokkal való munkához használhat, mint például a csoportok, munkák és feladatok.
A Batch-parancsmagok teljes listáját és a részletes parancsmagszintaxisokat a Azure Batch parancsmagok hivatkozásában találja.
Javasoljuk, hogy gyakran frissítse az Azure PowerShell modulokat, hogy kihasználhassa a szolgáltatásfrissítések és fejlesztések előnyeit.
Előfeltételek
Telepítse és konfigurálja a Azure PowerShell modult. Az Azure Batch modulok, például egy előzetes kiadású modul telepítéséhez lásd a PowerShell Galériát.
Futtassa a Connect-AzAccount parancsmagot, hogy csatlakozzon az előfizetéséhez (az Azure Batch parancsmagok az Azure Resource Manager modul részeként érhetők el).
Connect-AzAccountRegisztráljon a Batch szolgáltatónév-térrel. Ezt a műveletet előfizetésenként csak egyszer kell végrehajtania.
Register-AzResourceProvider -ProviderNamespace Microsoft.Batch
A Batch-fiókok és kulcsok kezelése
Batch-fiók létrehozása
New-AzBatchAccount létrehoz egy Batch-fiókot egy megadott erőforráscsoportban. Ha még nincs erőforráscsoportja, hozzon létre egyet a New-AzResourceGroup cmdlet futtatásával. Adja meg az egyik Azure régiót a Location paraméterben, például az "USA középső régióját". Például:
New-AzResourceGroup –Name MyBatchResourceGroup –Location "Central US"
Ezután hozzon létre egy Batch fiókot az erőforráscsoportban. Adjon meg egy nevet a fióknak a <account_name> mezőben, valamint adja meg az erőforráscsoportja helyét és nevét. A Batch-fiók létrehozása eltarthat egy ideig. Például:
New-AzBatchAccount –AccountName <account_name> –Location "Central US" –ResourceGroupName <res_group_name>
Megjegyzés:
Az Azure régióban a Batch-fióknéven belül az erőforráscsoport számára egyedinek kell lennie, 3 és 24 karakter közötti hosszúságúnak kell lennie, valamint csak kisbetűket és számokat tartalmazhat.
Fiókelérési kulcsok lekérése
A Get-AzBatchAccountKeys megmutatja az Azure Batch fiókhoz társított hozzáférési kulcsokat. Például futtassa a következő parancsot az általad létrehozott fiók elsődleges és másodlagos kulcsainak megtekintéséhez.
$Account = Get-AzBatchAccountKeys –AccountName <account_name>
$Account.PrimaryAccountKey
$Account.SecondaryAccountKey
Új hozzáférési kulcs létrehozása
New-AzBatchAccountKey egy új elsődleges vagy másodlagos fiókkulcsot generál egy Azure Batch fiókhoz. Például, hogy új elsődleges kulcsot generáljon a Batch fiókjához, írja be:
New-AzBatchAccountKey -AccountName <account_name> -KeyType Primary
Megjegyzés:
Új másodlagos kulcs generálásához adja meg a KeyType paraméter értékének a "Secondary" szót. A fő és másodlagos kulcsokat külön kell újragenerálni.
Batch-fiók törlése
A Remove-AzBatchAccount törli a Batch fiókot. Például:
Remove-AzBatchAccount -AccountName <account_name>
Amikor a rendszer kéri, erősítse meg, hogy el szeretné távolítani a fiókot. A fiók törlése eltarthat egy ideig.
Hozzon létre egy BatchAccountContext objektumot
A Batch erőforrások kezelése érdekében hitelesíthet vagy megosztott kulcsalapú hitelesítéssel, vagy a Microsoft Entra hitelesítéssel. A Batch PowerShell parancsmagok használatával történő hitelesítéshez először hozzon létre egy BatchAccountContext objektumot, amely tárolja a fiókadatiokat vagy az azonosítót. A BatchAccountContext objektumot átadod azoknak a cmdleteknek, amelyek a BatchContext paramétert használják.
Megosztott kulcsos hitelesítés
$context = Get-AzBatchAccountKeys -AccountName <account_name>
Megjegyzés:
Alapértelmezés szerint a fiók elsődleges kulcsa kerül felhasználásra hitelesítéshez, de explicit módon kiválaszthatja a használni kívánt kulcsot úgy, hogy módosítja a BatchAccountContext objektum KeyInUse tulajdonságát: $context.KeyInUse = "Secondary".
Microsoft Entra-hitelesítés
$context = Get-AzBatchAccount -AccountName <account_name>
Hozzon létre és módosítsa a kötegelt erőforrásokat
Használjon cmdleteket, mint például a New-AzBatchPool, New-AzBatchJob, és New-AzBatchTask erőforrások létrehozásához egy Batch-fiók alatt. Vannak megfelelő Get- és Set- parancsmagok a meglévő erőforrások tulajdonságainak frissítéséhez, az Eltávolítás parancsmagok pedig a Batch-fiókban lévő erőforrások eltávolításához.
Ezen parancsmagok közül sok használatakor a BatchContext-objektumok átadása mellett olyan objektumokat kell létrehoznia vagy átadnia, amelyek részletes erőforrás-beállításokat tartalmaznak, ahogyan az az alábbi példában látható. További példákért tekintse meg az egyes parancsmagok részletes súgóját.
Készítsen egy Batch készletet
Amikor létrehoz vagy frissít egy Batch pool-t, megad egy konfigurációt. A poolokat jellemzően a Virtuális Gép Konfigurációval kell beállítani, ami lehetővé teszi, hogy kiválassza az Azure Virtual Machines Marketplace-ben felsorolt támogatott Linux vagy Windows VM képek egyikét, vagy megadjon egy saját készítésű egyéni képet. A Cloud Services Configuration pool-ok csak Windows számítási egységeket biztosítanak, és nem támogatják az összes Batch funkciót.
Amikor a New-AzBatchPool parancsot futtatja, adja meg az operációs rendszer beállításait egy PSVirtualMachineConfiguration vagy PSCloudServiceConfiguration objektumban. Például a következő kódrészlet egy Batch medencét hoz létre Standard_A1 méretű számítási csomópontokkal a virtuális gép konfigurációjában, Ubuntu Server 20.04-LTS képpel. Itt a VirtualMachineConfiguration paraméter a $configuration változót PSVirtualMachineConfiguration objektumként adja meg. A BatchContext paraméter egy korábban meghatározott $context változót ad meg a BatchAccountContext objektumként.
$imageRef = New-Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSImageReference" -ArgumentList @("UbuntuServer","Canonical","20.04-LTS")
$configuration = New-Object -TypeName "Microsoft.Azure.Commands.Batch.Models.PSVirtualMachineConfiguration" -ArgumentList @($imageRef, "batch.node.ubuntu 20.04")
New-AzBatchPool -Id "mypspool" -VirtualMachineSize "Standard_a1" -VirtualMachineConfiguration $configuration -AutoScaleFormula '$TargetDedicated=4;' -BatchContext $context
Az új fürt célzott számítási csomópontjainak száma egy automatikus skálázási képlet alapján kerül kiszámításra. Ebben az esetben a képlet egyszerűen $TargetDedicated=4, ami azt jelzi, hogy a számítási csomópontok száma a fürtben legfeljebb 4.
Lekérdezés készletekre, feladatokra, munkákra és egyéb részletekre
Használjon cmdleteket, például a Get-AzBatchPool, Get-AzBatchJob és Get-AzBatchTask parancsokat, hogy lekérdezzen a Batch fiókban létrehozott entitásokat.
Adatlekérdezés
Például használja a Get-AzBatchPools parancsot, hogy megtalálja a medencéit. Alapértelmezés szerint ez lekérdezi a fiókod alá tartozó összes tartalékkészletet, feltéve, hogy már eltároltad a BatchAccountContext objektumot a(z) $context változóban.
Get-AzBatchPool -BatchContext $context
Használjon OData szűrőt
Megadhat egy OData szűrőt a Filter paraméter használatával, hogy csak a kívánt objektumokat találja meg. Például megtalálhatja az összes olyan medencét, amelynek azonosítója a „myPool”-lal kezdődik.
$filter = "startswith(id,'myPool')"
Get-AzBatchPool -Filter $filter -BatchContext $context
Ez a módszer nem olyan rugalmas, mint a „Where-Object” használata egy lokális csővezetékben. A lekérdezést azonban közvetlenül a Batch szolgáltatásba küldi a rendszer, hogy minden szűrés a kiszolgálóoldalon történjen, így az internetes sávszélességet takaríthatja meg.
Használja az Id paramétert
Az OData-szűrő alternatíva az Id paraméter használata. Egy adott "myPool" azonosítójú pool lekérdezéséhez:
Get-AzBatchPool -Id "myPool" -BatchContext $context
Az Azonosító paraméter csak a teljes azonosítójú keresést támogatja; nem helyettesítő karaktereket vagy OData-stílusú szűrőket.
Használja a MaxCount paramétert.
Alapértelmezés szerint minden cmdlet legfeljebb 1000 objektumot ad vissza. Ha eléri ezt a korlátot, finomítsa a szűrőt, hogy kevesebb objektumot hozzon vissza, vagy explicit módon állítsa be a maximumot a MaxCount paraméterrel. Például:
Get-AzBatchTask -MaxCount 2500 -BatchContext $context
Az alsó határ eltávolításához állítsa be a MaxCount értékét 0-ra vagy kisebbre.
A PowerShell-folyamat használata
A Batch-parancsmagok a PowerShell-folyamat használatával küldenek adatokat a parancsmagok között. Ennek ugyanaz a hatása, mint egy paraméter megadásának, de megkönnyíti a munkát több entitással.
Például találja meg és jelenítse meg az összes feladatot a fiókja alatt.
Get-AzBatchJob -BatchContext $context | Get-AzBatchTask -BatchContext $context
Indítsa újra (indítsa újra) a készlet összes számítási csomópontját:
Get-AzBatchComputeNode -PoolId "myPool" -BatchContext $context | Restart-AzBatchComputeNode -BatchContext $context
Alkalmazáscsomag-kezelés
Az alkalmazáscsomagok egyszerűsítik az alkalmazások telepítését a számítási csomópontokra a medencéiben. A Batch PowerShell-parancsmagokkal alkalmazáscsomagokat tölthet fel és kezelhet a Batch-fiókban, és csomagverziókat helyezhet üzembe a számítási csomópontokon.
Fontos
Az alkalmazáscsomagok használatához összekötést kell létrehoznia egy Azure Storage fiók és a Batch fiók között.
Készíts egy alkalmazást:
New-AzBatchApplication -AccountName <account_name> -ResourceGroupName <res_group_name> -ApplicationId "MyBatchApplication"
Adj hozzá egy alkalmazáscsomagot:
New-AzBatchApplicationPackage -AccountName <account_name> -ResourceGroupName <res_group_name> -ApplicationId "MyBatchApplication" -ApplicationVersion "1.0" -Format zip -FilePath package001.zip
Állítsa be az alkalmazás alapértelmezett verzióját.
Set-AzBatchApplication -AccountName <account_name> -ResourceGroupName <res_group_name> -ApplicationId "MyBatchApplication" -DefaultVersion "1.0"
Alkalmazáscsomagok listázása
$application = Get-AzBatchApplication -AccountName <account_name> -ResourceGroupName <res_group_name> -ApplicationId "MyBatchApplication"
$application.ApplicationPackages
Törlés egy alkalmazáscsomagot
Remove-AzBatchApplicationPackage -AccountName <account_name> -ResourceGroupName <res_group_name> -ApplicationId "MyBatchApplication" -ApplicationVersion "1.0"
Alkalmazás törlése
Remove-AzBatchApplication -AccountName <account_name> -ResourceGroupName <res_group_name> -ApplicationId "MyBatchApplication"
Megjegyzés:
Mielőtt törölné az alkalmazást, törölnie kell az alkalmazás összes alkalmazáscsomag-verzióját. „Konfliktus” hibaüzenet jelenik meg, ha olyan alkalmazást próbál törölni, amelyhez még tartoznak alkalmazáscsomagok.
Alkalmazáscsomag telepítése
Megadhat egy vagy több alkalmazási csomagot a telepítéshez, amikor létrehoz egy erőforráskészletet. Amikor egy csomagot ad meg a medence létrehozásakor, az a csomópontokhoz települ, amikor azok csatlakoznak a medencéhez. A csomagok akkor is telepítésre kerülnek, ha egy csomópont újraindul vagy újra van képezve.
Adja meg a -ApplicationPackageReference opciót, amikor létrehoz egy fürtöt, hogy egy alkalmazáscsomagot helyezzen üzembe a fürt csomópontjain, ahogy csatlakoznak a fürthöz. Először hozzon létre egy PSApplicationPackageReference objektumot, és állítsa be az alkalmazásazonosítóval és a csomag verziójával, amelyet a fürt számítógépeihez szeretne telepíteni.
$appPackageReference = New-Object Microsoft.Azure.Commands.Batch.Models.PSApplicationPackageReference
$appPackageReference.ApplicationId = "MyBatchApplication"
$appPackageReference.Version = "1.0"
Most hozza létre a fürdőt, és adja meg a csomag hivatkozására vonatkozó objektumot az ApplicationPackageReferences opció argumentumaként:
New-AzBatchPool -Id "PoolWithAppPackage" -VirtualMachineSize "Small" -VirtualMachineConfiguration $configuration -BatchContext $context -ApplicationPackageReferences $appPackageReference
További információt az alkalmazáscsomagokról a Alkalmazások telepítése számítási csomópontokra Batch alkalmazáscsomagokkal részben találhat.
Egy hardverkészlet alkalmazáscsomagjainak frissítése
A meglévő medencéhez rendelt alkalmazások frissítéséhez először hozzon létre egy PSApplicationPackageReference objektumot a kívánt tulajdonságokkal (alkalmazásazonosító és csomag verzió).
$appPackageReference = New-Object Microsoft.Azure.Commands.Batch.Models.PSApplicationPackageReference
$appPackageReference.ApplicationId = "MyBatchApplication"
$appPackageReference.Version = "2.0"
Ezután szerezze meg a fürdőt a Batch szolgáltatásból, távolítson el minden meglévő csomagot, adja hozzá az új csomag hivatkozást, és frissítse a Batch szolgáltatást az új fürdő beállításokkal.
$pool = Get-AzBatchPool -BatchContext $context -Id "PoolWithAppPackage"
$pool.ApplicationPackageReferences.Clear()
$pool.ApplicationPackageReferences.Add($appPackageReference)
Set-AzBatchPool -BatchContext $context -Pool $pool
Most frissítette a készlet tulajdonságait a Batch szolgáltatásban. Ahhoz azonban, hogy az új alkalmazáscsomag ténylegesen üzembe helyezhető legyen a készlet számítási csomópontjaiban, újra kell indítania vagy újra kell telepítenie ezeket a csomópontokat. Ezzel a paranccsal újraindíthat minden csomópontot egy medencében.
Get-AzBatchComputeNode -PoolId "PoolWithAppPackage" -BatchContext $context | Restart-AzBatchComputeNode -BatchContext $context
Jótanács
Több alkalmazáscsomagot is üzembe helyezhet a készlet számítási csomópontjaiban. Ha az aktuálisan üzembe helyezett csomagok cseréje helyett egy alkalmazáscsomagot szeretne hozzáadni, hagyja ki a $pool.ApplicationPackageReferences.Clear() fenti sort.
Következő lépések
- Részletes parancsmagszintaxisért és példákért tekintse át a Azure Batch parancsmagok hivatkozását.
- Ismerje meg, hogyan telepíthet alkalmazásokat számítási csomópontokra Batch alkalmazáscsomagok segítségével.