Csomópontok és poolok az Azure Batch-ban
Egy Azure Batch-munkafolyamatban a számítási csomópont (vagy csomópont) egy virtuális gép, amely az alkalmazás számítási feladatainak egy részét dolgozza fel. A készlet ezeknek a csomópontoknak a gyűjteménye, amelyen az alkalmazás fut. Ez a cikk részletesebben ismerteti a csomópontokat és a készleteket, valamint az Azure Batch-munkafolyamatokban való létrehozásuk és használatuk során megfontolandó szempontokat.
Csomópontok
A csomópont egy Azure-beli virtuális gép vagy felhőszolgáltatás virtuális gépe, amely az alkalmazás számítási feladatainak egy részének feldolgozására szolgál. A csomópont mérete határozza meg a CPU-magok számát, a memóriakapacitást és a csomóponthoz lefoglalt helyi fájlrendszeri méretet.
Windows- és Linux-csomópontokból az Azure Cloud Services, az Azure Virtual Machines Marketplace-ről származó rendszerképek vagy az Ön által előkészített egyéni rendszerképek segítségével hozhat létre készleteket.
A csomópontok minden olyan végrehajtható fájlt vagy parancsprogramot képesek futtatni, amelyet a csomópont operációsrendszer-környezete támogat. A végrehajtható fájlok vagy szkriptek közé tartoznak a *.exe, a *.cmd, a *.bat és a PowerShell-szkriptek (Windowshoz), a bináris fájlok, a shell és a Python-szkriptek (Linuxhoz).
A Batch szolgáltatásban működő számítási csomópontok emellett a következőket is tartalmazzák:
- Szabványos mappastruktúra, valamint az ehhez tartozó környezeti változók, amelyekre a tevékenységek hivatkozni tudnak.
- A hozzáférés vezérléséhez konfigurált tűzfalbeállítások.
- Távelérés Windows (RDP) és Linux (Secure Shell (SSH)) csomópontokhoz (kivéve, ha a készletet letiltott táveléréssel hozza létre).
Alapértelmezés szerint a csomópontok kommunikálhatnak egymással, de nem tudnak kommunikálni azokkal a virtuális gépekkel, amelyek nem tartoznak ugyanahhoz a készlethez. Annak érdekében, hogy a csomópontok biztonságosan kommunikálhassanak más virtuális gépekkel vagy egy helyszíni hálózattal, kiépítheti a készletet egy Azure-beli virtuális hálózat (VNet) alhálózatán. Ha így tesz, a csomópontok nyilvános IP-címeken keresztül érhetők el. Ezeket a nyilvános IP-címeket a Batch hozza létre, és a készlet élettartama során változhat. Létrehozhat egy olyan készletet is , amely statikus nyilvános IP-címekkel rendelkezik , amelyek szabályozhatók, így azok nem változnak váratlanul.
Készletek
A készlet az alkalmazás által futtatott csomópontok gyűjteménye.
Az Azure Batch-fiókok az Azure számítási platformjára épülnek. Nagy léptékű kiosztást, alkalmazástelepítést, adatelosztást, állapotfigyelést és rugalmas módosítást (skálázást) biztosítanak a készleten belüli számítási csomópontok számához.
A készlethez adott minden csomóponthoz egyedi név és IP-cím van rendelve. Amikor eltávolít egy csomópontot a készletből, elveszíti az operációs rendszeren vagy a fájlokon végzett módosításokat, és a rendszer kiadja a csomópont nevét és IP-címét további használatra. Amikor egy csomópont kikerül egy készletből, vége van az élettartamának.
A készleteket kizárólag az a Batch-fiók használhatja, amelyben létrehozták őket. A Batch-fiókok több készletet is létrehozhatnak, hogy megfeleljenek a futtatni kívánt alkalmazások erőforrás-követelményeinek.
A készletet manuálisan vagy automatikusan is létrehozhatja a Batch szolgáltatás a elvégezni kívánt munka megadásakor. Készlet létrehozásakor a következő attribútumokat adhatja meg:
- Csomópontok és poolok az Azure Batch-ban
- Csomópontok
- Készletek
- Operációs rendszer és verzió
- Konfigurációk
- Csomópont típusa és célja
- Csomópont mérete
- Automatikus méretezési szabályzat
- Tevékenységütemezési szabályzat
- Kommunikációs állapot
- Tevékenységek indítása
- Alkalmazáscsomagok
- Virtuális hálózat (VNet) és tűzfalkonfiguráció
- Készlet és számítási csomópont élettartama
- Automatikus várólisták
- Biztonság tanúsítványokkal
- Következő lépések
Fontos
A Batch-fiókhoz tartozik egy alapértelmezett kvóta, amely korlátozza a magok számát a Batch-fiókokban. A magok száma a számítási csomópontok számának felel meg. Az alapértelmezett kvótákat és a kvóták növelésével kapcsolatos útmutatásokat Quotas and limits for the Azure Batch service (Az Azure Batch szolgáltatás kvótái és korlátai) című témakörben találja. A magkvóta lehet az oka, hogy a készlet esetleg nem éri el a csomópontok kitűzött számát.
Operációs rendszer és verzió
Batch-készlet létrehozásakor meg kell adnia az Azure-beli virtuális gépek konfigurációját és az operációs rendszer típusát, amelyet a készlet minden számítási csomópontján futtatni szeretne.
Konfigurációk
Virtuális gép konfigurációja
A virtuális gép konfigurációja azt határozza meg, hogy a készlet Azure-beli virtuális gépekből áll. Ezek a virtuális gépek Linux- vagy Windows-rendszerképből is létrehozhatók.
A Batch csomópontügynök egy olyan program, amely a készlet minden csomópontján fut, és biztosítja a parancs- és vezérlési felületet a csomópont és a Batch szolgáltatás között. A csomópontügynöknek, más néven termékváltozatoknak különböző implementációi vannak a különböző operációs rendszerekhez. Ha a virtuálisgép-konfiguráción alapuló készletet hoz létre, a csomópontok mérete és a létrehozásukhoz használt rendszerképek forrása mellett a virtuális gép képhivatkozását és a csomópontokra telepítendő Batch-csomóponti ügynök SKU-ját is meg kell adnia. A készlet e tulajdonságainak megadásával kapcsolatos további információk: Provision Linux compute nodes in Azure Batch pools (Linuxos számítási csomópontok kiépítése Azure Batch-készletekben). Csatolhat egy vagy több üres adatlemezt a Marketplace-ről származó lemezképekből létrehozott virtuális gépek készletté alakításához, vagy adatlemezeket foglalhat az egyéni rendszerképekbe a virtuális gépek létrehozásához. Adatlemezek felvételekor csatlakoztatnia és formáznia kell a lemezeket egy virtuális gépen belülről a használatukhoz.
Csomópontügynök termékváltozatai
Készletek létrehozásakor ki kell választania a megfelelő nodeAgentSkuId értéket a virtuális merevlemez alapképének operációs rendszerétől függően. A lista által támogatott csomópontügynök termékváltozatainak meghívásával leképezheti az elérhető csomópontügynök termékváltozat-azonosítóit az operációsrendszer-rendszerkép-hivatkozásaikra.
Egyéni rendszerképek virtuálisgép-készletekhez
Ha tudni szeretné, hogyan hozhat létre készletet egyéni rendszerképekkel, tekintse meg az Azure Compute Gallery használatával egyéni készlet létrehozását ismertető témakört.
Tárolótámogatás a virtuálisgép-készletekben
Amikor a Batch API-kkal hoz létre virtuálisgép-konfigurációs készletet, beállíthatja a készletet, hogy Docker-tárolókban futtasson feladatokat. Jelenleg a Docker-tárolókat támogató rendszerképpel kell létrehoznia a készletet. Használja a Windows Server 2016 Datacentert az Azure Marketplace-ről származó tárolói rendszerképpel, vagy adjon meg olyan egyéni virtuálisgép-rendszerképet, amely tartalmazza a Docker Community Edition vagy Enterprise kiadását és az összes szükséges illesztőt. A készlet beállításainak tartalmazniuk kell egy tárolókonfigurációt, amely tárolórendszerképeket másol a virtuális gépekre a készlet létrehozásakor. A készleten futó feladatok ezután hivatkozhatnak a tárolórendszerképre és a tároló által futtatott beállításokra.
További információt a Docker-tárolóalkalmazásoknak az Azure Batch-ben történő futtatásával foglalkozó cikkben tekinthet meg.
Csomópont típusa és célja
Készlet létrehozásakor megadhatja a kívánt csomóponttípusokat és az egyes csomópontok célszámát. A csomópontok két típusa:
- Dedikált csomópontok. A dedikált számítási csomópontok az adott feladatra vannak fenntartva. Drágábbak, mint a kihasználatlan csomópontok, de garantáltan soha nem lesznek előszeretűek.
- Kihasználatlan csomópontok. A kihasználatlan csomópontok kihasználják a többletkapacitást az Azure-ban a Batch-számítási feladatok futtatásához. A kihasználatlan csomópontok óránként olcsóbbak, mint a dedikált csomópontok, és lehetővé teszik a jelentős számítási teljesítményt igénylő számítási feladatokat. További információ: Kihasználatlan virtuális gépek használata a Batch használatával.
A kihasználatlan csomópontok akkor kerülhetnek elő, ha az Azure nem rendelkezik elegendő többletkapacitással. Amennyiben egy csomópont feladatok futása közben szorul háttérbe, akkor a feladatok visszakerülnek a várakozási sorba, és újra futnak, amikor a számítási csomópont ismét elérhetővé válik. A kihasználatlan csomópontok jó megoldást jelentenek olyan számítási feladatokhoz, ahol a feladat befejezési ideje rugalmas, és a munka sok csomóponton oszlik el. Mielőtt úgy dönt, hogy kihasználatlan csomópontokat használ a forgatókönyvhöz, győződjön meg arról, hogy a preemption miatt elveszett munka minimális és könnyen újra létrehozható lesz.
A kihasználatlan és a dedikált számítási csomópontok is ugyanabban a készletben lehetnek. Minden csomóponttípus saját célbeállítással rendelkezik, amelyhez megadhatja a kívánt csomópontok számát.
A számítási csomópontok számát azért nevezzük cél-értéknek, mert előfordulhat, hogy a készletben nem lehet a kívánt számú csomópontot alkalmazni. Egy készlet például nem érheti el a célértéket, ha először a Batch-fiók magkvótáját éri el. Vagy előfordulhat, hogy a készlet nem éri el a célt, ha automatikus méretezési képletet alkalmazott a készletre, amely korlátozza a csomópontok maximális számát.
A kihasználatlan és a dedikált csomópontokra vonatkozó díjszabási információkért tekintse meg a Batch díjszabását.
Csomópont mérete
Azure Batch-készlet létrehozásakor az Azure-ban elérhető szinte összes virtuálisgép-család és -méret közül választhat. Az Azure számos különböző virtuálisgép-méretet nyújt a különböző számítási feladatokhoz, beleértve a speciális HPC- vagy GPU-kompatibilis virtuálisgép-méreteket. Vegye figyelembe, hogy a csomópontméretek csak a készlet létrehozásakor választhatók ki. Más szóval a készlet létrehozása után a csomópont mérete nem módosítható.
További információ: Számítási csomópontok virtuálisgép-méretének kiválasztása Azure Batch-készletben.
Automatikus méretezési szabályzat
Dinamikus számítási feladatok esetén automatikus méretezési szabályzatot alkalmazhat egy készletre. A Batch szolgáltatás rendszeres időközönként kiértékeli a képletet, és dinamikusan módosítja a készlet csomópontjainak számát a számítási forgatókönyv aktuális számítási feladatának és erőforrás-használatának megfelelően. Ez lehetővé teszi az alkalmazásfuttatás teljes költségeinek csökkentését, mivel csak a szükséges erőforrásokat használja, és felszabadítja a szükségteleneket.
Az automatikus skálázáshoz írnia kell egy automatikus skálázási képletet, amelyet aztán társítania kell a készlethez. A Batch szolgáltatás ezzel a képlettel határozza meg a készletben működő csomópontok célszámát a következő skálázási intervallumhoz (amelyet Ön állíthat be). A készlet automatikus skálázását a készlet létrehozásakor és később egyaránt bekapcsolhatja. A skálázási beállításokat a skálázás bekapcsolása után is módosíthatja.
Például egy feladathoz nagy számú végrehajtandó feladatot kell elküldenie. Ekkor skálázási képletet rendelhet a készlethez, amely a sorban álló tevékenységek aktuális száma és a feladathoz tartozó tevékenységek befejezettségi állapota alapján határozza meg a készletben működő csomópontok számát. A Batch szolgáltatás időnként kiértékeli a képletet és átméretezi a készletet a számítási feladatok és a képlet egyéb beállításai alapján. A szolgáltatás szükség szerint csomópontokat ad hozzá, amikor nagy számú tevékenység van a várakozási sorban, és eltávolít csomópontokat, amikor nincs futó tevékenység a várakozási sorban.
A méretezési képletek a következő mérőszámokon alapulhatnak:
- Az időmérőszámok a megadott számú órák során öt percenként gyűjtött statisztikák alapján kaphatók meg.
- Az erőforrás-mérőszámok a CPU-használat, a sávszélesség-használat, a memóriahasználat és a csomópontok száma alapján számíthatók ki.
- A tevékenységmetrikák alapját a tevékenységállapotok, például Aktív (sorban áll), Fut vagy Befejezve képezik.
Amikor az automatikus skálázás csökkenti a készletben működő csomópontok számát, érdemes megfontolni, hogy mi történjen a csökkentési művelet idején még futó tevékenységekkel. A Batch csomópont-felszabadítási funkciót kínál ennek megkönnyítésére, amelyet felvehet a képletbe. Megadhatja például, hogy a rendszer azonnal leállítsa a futó tevékenységeket, majd egy másik csomóponton sorba állítsa a tevékenységeket végrehajtás céljából, vagy hagyja őket lefutni, és csak ezután távolítsa el a csomópontot a készletből. Vegye figyelembe, hogy a csomópont felszabadítási beállításának taskcompletion
beállítása megakadályozza vagy retaineddata
megakadályozza a készlet átméretezési műveleteit mindaddig, amíg az összes tevékenység be nem fejeződik, vagy az összes tevékenységmegőrzési időszak lejárt.
Az alkalmazások automatikus méretezésével kapcsolatos további információért lásd: Számítási csomópontok automatikus méretezése egy Azure Batch-készletben.
Tipp.
A számítási erőforrások kihasználtságának maximalizálása érdekében állítsa nullára a csomópontok célszámát a feladatok végén, de engedélyezze a futó tevékenységek befejeződését.
Tevékenységütemezési szabályzat
A csomópontonkénti maximális tevékenység konfigurációs lehetőség határozza meg a készleten belüli egyes számítási csomópontokon egyidejűleg futtatható tevékenységek maximális számát.
Az alapértelmezett konfiguráció meghatározza, hogy egyszerre egy tevékenység fut egy csomóponton, de bizonyos esetekben előnyös lehet, ha kettő vagy több feladat is végrehajtható egyszerre egy csomóponton. Nézze meg a csomópontokon végzett egyidejű tevékenységekről szóló cikkben szereplő mintaforgatókönyvet, ha kíváncsi rá, hogy milyen esetekben lehet hasznos, ha több tevékenység fut az egyes csomópontokon.
Megadhat egy kitöltési típust is, amely meghatározza, hogy a Batch egyenletesen elosztja-e a tevékenységeket a készlet összes csomópontja között, vagy az egyes csomópontokat a maximális számú tevékenységgel csomagolja be, mielőtt tevékenységeket rendel egy másik csomóponthoz.
Kommunikációs állapot
A legtöbb esetben a tevékenységek egymástól függetlenül működnek, nincs szükség közöttük kommunikációra. Vannak azonban olyan alkalmazások (például MPI-megoldások), ahol a tevékenységeknek kommunikálniuk kell egymással.
A készlet konfigurálható úgy, hogy engedélyezze az csomópontok közötti kommunikációt , hogy a készleten belüli csomópontok futásidőben kommunikálhassanak. Ha engedélyezte a csomópontok közötti kommunikációt, a Cloud Services-konfigurációt használó készletekben működő csomópontok az 1100-nál magasabb portszámú portokon, a virtuálisgép-konfigurációs készletek csomópontjai pedig bármely porton képesek lesznek kommunikálni egymással.
Az csomópontok közötti kommunikáció engedélyezése hatással van a csomópontok fürtökön belüli elhelyezésére is, és az üzembehelyezési korlátozások miatt korlátozhatja a készletek csomópontjainak maximális számát. Ha az alkalmazáshoz nincs szükség a csomópontok közötti kommunikációra, a Batch szolgáltatás nagy számú csomópont lefoglalására képes a készlethez számos különböző fürtből és adatközpontból, hogy lehetővé tegye a nagyobb párhuzamos feldolgozási teljesítményt.
Tevékenységek indítása
Szükség esetén hozzáadhat egy indítási feladatot , amely minden csomóponton végrehajtva lesz, amikor a csomópont csatlakozik a készlethez, és minden alkalommal, amikor egy csomópont újraindul vagy újraépül. Az indítási tevékenység különösen hasznos a számítási csomópontok tevékenységek végrehajtására való előkészítéséhez, például a tevékenységek által a számítási csomópontokon futtatott alkalmazások telepítéséhez.
Alkalmazáscsomagok
A készlethez tartozó számítási csomópontokra üzembe helyezni kívánt alkalmazáscsomagokat is meghatározhatja. Az alkalmazáscsomagok leegyszerűsítik a tevékenységek által futtatott alkalmazások üzembe helyezését és verziókezelését. A készlethez beállított alkalmazáscsomagokat a rendszer a készlethez csatlakozó összes csomópontra telepíti, illetve minden alkalommal telepíti őket, amikor egy csomópontot újraindítanak vagy rendszerképét alaphelyzetbe állítják.
További információkat az alkalmazások a Batch-csomópontokon alkalmazáscsomagok használatával történő központi telepítéséről a Batch-alkalmazáscsomagokkal számítási csomópontokra végzett alkalmazástelepítést ismertető cikkben talál.
A virtuális hálózat (VNet) és a tűzfal konfigurálása
Amikor számítási csomópontok készletét hozza létre a Batchben, hozzárendelheti a készletet egy Azure-beli virtuális hálózat (VNet) alhálózatához. Azure-beli virtuális hálózat használatához a Batch-ügyfél API-nak Microsoft Entra-hitelesítést kell használnia. A Microsoft Entra ID Azure Batch-támogatása dokumentálva van a Batch-szolgáltatásmegoldások Active Directoryval való hitelesítésében.
A virtuális hálózat követelményei
A Batch-készletek virtuális hálózatban való beállítására vonatkozó további információért lásd: Virtuális gépek készletének létrehozása a virtuális hálózattal.
Tipp.
Annak érdekében, hogy a csomópontok elérésére használt nyilvános IP-címek ne változhassanak, létrehozhat egy készletet az Ön által megadott nyilvános IP-címekkel.
Készlet és számítási csomópont élettartama
Az Azure Batch-megoldás tervezésekor meg kell adnia, hogy a készletek hogyan és mikor jönnek létre, és hogy mennyi ideig legyenek elérhetők a készleteken belüli számítási csomópontok.
Az egyik szélsőség, ha azt állítja be, hogy a rendszer hozza létre a készletet az Ön által elküldött egyes feladatokhoz, és azonnal törölje a készletet, amint az egyes feladatok tevékenységeinek végrehajtása befejeződött. Ez maximalizálja a kihasználtságot, mivel a csomópontok csak szükség esetén vannak lefoglalva, és inaktív állapotuk után leállnak. Bár ez azt jelenti, hogy a feladatnak meg kell várnia a csomópontok lefoglalását, fontos megjegyezni, hogy a tevékenységek a csomópontok egyéni lefoglalása és a kezdési tevékenység befejezése után azonnal végrehajtásra vannak ütemezve. A Batch nem vár addig a tevékenységek csomópontokhoz rendelésével, amíg a készletben lévő összes csomópont elérhetővé válik. Így garantálható az összes elérhető csomópont maximális kihasználtsága.
A másik végletet akkor érdemes választani, ha a feladatok azonnali indítása a legfontosabb: ilyenkor a feladatok elküldése előtt hozza létre a készletet, és tegye elérhetővé a csomópontokat. Ebben a megoldásban a tevékenységek azonnal indulhatnak, de a csomópontok tétlenek lehetnek a tevékenységek hozzárendeléséig.
A változók kezeléséhez általában kombinált megközelítést használnak, de folyamatos terhelést. Létrehozhat egy készletet, amelyben több feladat is elküldhető, és a csomópontok számát felfelé vagy lefelé skálázhatja a feladat terhelésének megfelelően. Ez reaktív módon, az aktuális terhelés alapján is elvégezhető, de proaktív módszert is használhat, ha a terhelés előrejelezhető. További információ: Automatikus skálázási szabályzat.
Automatikus várólisták
Az automatikus készlet olyan készlet, amelyet a Batch szolgáltatás a feladat elküldésekor hoz létre, nem pedig a készletben futtatandó feladatok előtt. A Batch szolgáltatás a megadott jellemzőknek megfelelően kezeli az automatikus készlet élettartamát. Ezek a készletek leggyakrabban automatikus törlésre vannak beállítva a feladatok befejezése után.
Biztonság tanúsítványokkal
Általában tanúsítványokat kell használnia tevékenységek bizalmas információinak, például az Azure Storage-fiókok kulcsának titkosításakor vagy visszafejtésekor. Ehhez tanúsítványokat telepíthet a csomópontokra. A titkosított titkos kulcsok parancssori paraméterek segítségével vagy valamelyik tevékenység-erőforrásba ágyazva jutnak el a tevékenységekhez, és a telepített tanúsítványokkal fejthetők vissza.
A Tanúsítvány hozzáadása művelettel (Batch REST) vagy a CertificateOperations.CreateCertificate metódussal (Batch .NET) adhat tanúsítványt Batch-fiókhoz. Ezután a tanúsítványt új vagy meglévő készlethez társíthatja.
Amikor egy tanúsítvány egy készlethez van társítva, a Batch szolgáltatás telepíti a tanúsítványt a készlet minden csomópontján. A Batch szolgáltatás telepíti a megfelelő tanúsítványokat a csomópont indításakor, mielőtt bármilyen tevékenységet elindít (beleértve az indítási és a feladatkezelői feladatot).
Ha tanúsítványt ad hozzá egy meglévő készlethez, újra kell indítania a számítási csomópontokat, hogy a tanúsítvány a csomópontokra vonatkozhasson.
Következő lépések
- Ismerje meg a feladatokat és a feladatokat.
- Megtudhatja, hogyan észlelheti és elkerülheti a készlet- és csomópontháttér-műveletek hibáit .