Popis základů Azure CycleCloudu
Mnoho organizací chce převést své místní úlohy PROSTŘEDÍ HPC do Azure, aby mohly využívat své možnosti hyperškálování. Chtějí také minimalizovat křivku učení spojenou s takovým přechodem a využívat odborné znalosti spojené se stávajícími nasazeními, jako je konkrétní plánovač PROSTŘEDÍ HPC. Nakonec hledají přehled o výkonu a nákladech na cloudové prostředky clusteru způsobem, který bude paralelizovat místní prostředí.
Implementace vlastního řešení, které tyto potřeby řeší, je náročné. Vyžaduje podrobné znalosti výpočetních, síťových a úložných prostředků Azure, které slouží jako stavební bloky cloudových clusterů PROSTŘEDÍ HPC. Bez odpovídajícího rozhraní pro správu by také provoz takového řešení tím, že spoléhá na standardní nástroje pro správu Azure, vedlo by k významné režii na správu.
Azure CycleCloud tyto problémy řeší a poskytuje jednoduchý, zabezpečený a škálovatelný způsob implementace plánovačů PROSTŘEDÍ HPC v Azure. V této lekci se dozvíte o jeho základních funkcích.
Poznámka:
Azure CycleCloud cílí na scénáře nasazení, které vyžadují použití konkrétního plánovače PROSTŘEDÍ HPC. To doplňuje službu Azure Batch, která poskytuje plánovač jako službu v Azure.
Co je Azure CycleCloud?
Azure CycleCloud je nástroj pro nasazení clusterů PROSTŘEDÍ HPC v Azure a správu jejich úloh. Nabízí širokou škálu funkcí PROSTŘEDÍ HPC, včetně:
Nasazení clusterů HPC založené na šablonách Azure CycleCloud poskytuje integrované přizpůsobitelné šablony pro nasazení nejběžnějších plánovačů clusterů, včetně Slurm, OpenPBS, LSF, Grid Engine a HTCondor. Mnoho dalších předdefinovaných šablon, které můžete importovat do instance Azure CycleCloud, jsou k dispozici v úložišti CycleCloud Na GitHubu.
Poznámka:
Šablony jsou soubory ve formátu INI, které používají deklarativní syntaxi k popisu uspořádání uzlů v clusteru CycleCloud, včetně příslušných vztahů. Šablony obsahují odkazy na projekty, které definují konfiguraci uzlu.
Ruční a automatizované škálování uzlů clusteru Azure CycleCloud umožňuje ruční a automatizované horizontální škálování spravovaných clusterů podle délky front úloh a zásad správného řízení. Nabízí také rozhraní REST API pro vývoj adaptérů automatického škálování pro vlastní plánovače.
Konfigurace uzlu prostřednictvím skriptů cloud-init Azure CycleCloud podporuje správu konfigurace na základě vlastních skriptů, které běží v uzlech spravovaného clusteru před všemi jinými úlohami konfigurace specifické pro CycleCloud.
Správa interního a externího úložiště clusteru Azure CycleCloud umožňuje nakonfigurovat úložiště clusteru zřízením, připojením a formátováním spravovaných disků Azure a síťového připojeného úložiště, jako jsou servery NFS nebo clustery BeeGFS.
Monitorování, protokolování a upozorňování Azure CycleCloud nabízí integrované monitorování clusteru a integruje se se službou Azure Monitor. Do Log Analytics je také možné ukládat data protokolů z clusterů CycleCloud a vytvářet vlastní řídicí panely metrik. Kromě toho můžete vytvářet vlastní upozornění a e-mailová oznámení aktivovaná telemetrickými daty. Protokolují se všechny aktivity Azure CycleCloud.
Ověřování a autorizace. Azure CycleCloud podporuje integrované místní ověřování. Alternativně ji můžete integrovat se službami Doména služby Active Directory Services nebo jinými zprostředkovateli identit založenými na protokolu LDAP (Lightweight Directory Access Protocol). Ve výchozím nastavení mají místně definovaní uživatelé přístup k operačnímu systému na uzlech spravovaného clusteru, ale je možné spravovat uživatele clusteru samostatně. Ke správě prostředků v předplatném Azure můžete použít instanční objekt Microsoft Entra nebo spravovanou identitu.
Hlášení a řízení nákladů téměř v reálném čase Azure CycleCloud sleduje využití clusteru a odhaduje odpovídající náklady. Tato funkce umožňuje nastavit upozornění rozpočtu aktivovaná, když náklady na cluster překročí zadanou peněžní částku. Azure CycleCloud se také integruje se službou Microsoft Cost Management.
Jak implementujete a používáte Azure CycleCloud?
CycleCloud se implementuje jako webová aplikace založená na Linuxu, kterou můžete nainstalovat do libovolného umístění, ze kterého budete mít přístup ke svému prostředí Azure. Nejjednodušší způsob, jak ho nastavit, je nasazením virtuálního počítače Azure pomocí odpovídající image Azure Marketplace s možností automatizace nasazení pomocí šablony Azure Resource Manageru (ARM). Alternativně můžete použít balíčky yum nebo apt nebo image kontejneru dostupnou ve službě Microsoft Container Registry.
Během počáteční konfigurace můžete poskytnout klíč SSH pro zabezpečení přístupu k operačnímu systému hostujícímu aplikaci CycleCloud a k uzlům clusteru nasazeným později. Pokud chcete aplikaci CycleCloud povolit interakci s Azure Resource Managerem, musíte zvolit identitu Microsoft Entra, která poskytuje kontext zabezpečení pro tuto interakci, a přiřadit jí dostatečná oprávnění v cílovém předplatném Azure pomocí řízení přístupu na základě role (RBAC). Tato identita může mít formu instančního objektu nebo spravované identity, pokud hostuje aplikaci Azure CycleCloud na virtuálním počítači Azure.
Instance Azure CycleCloud také vyžaduje účet úložiště Azure a doprovodný kontejner objektů blob. Tento kontejner, označovaný jako locker, poskytuje pracovní oblast pro nasazení projektů na uzly clustru.
Po instalaci poskytuje aplikace Azure CycleCloud grafické uživatelské rozhraní, které umožňuje uživateli spravovat a monitorovat systémy PROSTŘEDÍ HPC a rozhraní příkazového řádku (CLI), které usnadňuje automatizaci a integraci CycleCloudu do stávajících pracovních postupů. Rozhraní příkazového řádku můžete také použít k importu šablon, automatizaci zřizování clusterů a provádění pokročilejších úloh správy.
Jaká je architektura Azure CycleCloudu?
Azure CycleCloud poskytuje v porovnání s Azure Resource Managerem přidanou vrstvu abstrakce, což minimalizuje potřebu uživatelů zabývat se přímo výpočetními prostředky a prostředky úložiště Azure. Jeho rolí je překládat konfigurace na úrovni plánovače, které jsou přístupné prostřednictvím svého grafického rozhraní nebo rozhraní příkazového řádku do volání rozhraní API Azure Resource Manageru (ARM), která komunikují s virtuálními počítači Azure a škálovacími sadami virtuálních počítačů Azure v uživatelsky definovaných virtuálních sítích a podsítích. Tato volání také berou v úvahu kvóty virtuálních procesorů v oblasti, omezení velikosti clusteru a omezení síťové topologie InfiniBand. Také usnadňují optimalizaci výkonu clusteru pomocí takových konstruktorů, jako jsou skupiny umístění bezkontaktní komunikace nebo připojení uzlů clusteru ke stejnému přepínači InfiniBand.
Poznámka:
Skupina umístění bezkontaktní komunikace umožňuje kolaci virtuálních počítačů Azure blízko sebe, ale nepovažuje za síť InfiniBand. Azure CycleCloud umožňuje použít vlastní konkrétní konstruktor označovaný jako PlacementGroupId k seskupení uzlů clusteru do jedné škálovací sady virtuálních počítačů Azure připojené ke stejnému síťovému přepínači. Tyto dvě funkce můžete kombinovat, ale to může snížit počet uzlů, které můžete zřídit ve stejné škálovací sadě virtuálních počítačů Azure.
Azure CycleCloud orchestruje životní cyklus clusterů PROSTŘEDÍ HPC, které se obvykle skládají z jednoho nebo více hlavních uzlů plánovače HPC a výpočetních uzlů, ale může také zahrnovat network attached Storage, jako je server NFS nebo cluster BeeGFS, Azure NetApp Files, Azure HPC Cache a Microsoft Entra Domain Services. Zahrnuje interní úložiště dat NoSQL, které ukládá do mezipaměti stavy clusteru a uzlů. Jeho systém monitorování uzlů umožňuje upozorňování. Jeho funkce správy se zveřejňují prostřednictvím rozhraní REST API a jsou přístupné prostřednictvím webu a rozhraní příkazového řádku.
Automatické škálování spravovaného clusteru spoléhá na kalkulačku poptávky a knihovnu automatického škálování. O jejich vlastnostech se dozvíte v další lekci tohoto kurzu.
Co je životní cyklus clusteru Azure CycleCloud?
Životní cyklus clusteru začíná výběrem šablony, která obsahuje její definici. Máte možnost použít některou z předdefinovaných šablon nebo vytvořit vlastní šablonu a importovat ji do aplikace CycleCloud. Šablona obvykle obsahuje několik parametrů, které umožňují přizpůsobit konfiguraci clusteru během jejího vytváření. Specifika procesu vytváření clusteru závisí na tom, jestli používáte web nebo rozhraní příkazového řádku.
Po vytvoření clusteru ho můžete spustit. Spuštění clusteru aktivuje posloupnost úloh pro každý uzel, který je součástí definice založené na šabloně clusteru. Tato posloupnost se skládá z volání Azure Resource Manageru požadujícího zřízení virtuálního počítače Azure, které se označuje jako stav Získání . Následuje konfigurace virtuálního počítače, včetně spuštění jeho inicializace definované v odpovídajícím projektu, spuštění skriptů pro instalaci a konfiguraci plánovacího softwaru a zřizování a připojení svazků systému souborů. Po dokončení sekvence uzel dosáhne stavu Spuštěno . Jakákoli neošetřená nebo neznámá chyba má za následek stav Chyba .
Po spuštění uzlů clusteru jsou přístupné vzdáleně přes SSH nebo RDP v závislosti na operačním systému. Tato připojení můžete použít k odesílání úloh clusteru. V závislosti na konfiguraci clusteru to může aktivovat škálování clusteru.
Po dokončení všech odeslaných úloh můžete cluster ukončit. Ukončení clusteru zastaví a odebere jeho uzly a odstraní všechny ne trvalé svazky, takže cluster zůstane ve stavu Vypnuto .