Přizpůsobení instalací softwaru
Šablony Azure CycleCloud usnadňují nastavení HPC klastrů abstrahováním implementačních detailů základní infrastruktury, což vám umožňuje zaměřit se na správu úloh. Tato úloha ale obvykle obsahuje několik závislostí souvisejících se softwarem, které vyžadují další kroky přizpůsobení. Azure CycleCloud naštěstí také poskytuje rámec pro implementaci těchto kroků prostřednictvím podpory zřizování a správy konfigurace přímo aplikovaných na uzly klastru.
Mezi vaše cíle patří potřeba nasadit vlastní obrazy a používat interně vyvinuté konfigurační skripty, které jste používali ve svém místním prostředí HPC. Chcete určit, jak tyto cíle dosáhnout pomocí funkcí Azure CycleCloudu.
Jak implementovat správu konfigurace pomocí Azure CycleCloudu?
Azure CycleCloud nabízí tři hlavní metody, které můžete libovolně kombinovat a přizpůsobit operační systém a software na uzlech clusteru podle vlastních požadavků nebo předvoleb:
- Vlastní snímky
- Projekty
- Cloud-init
Jak používat vlastní image se službou Azure CycleCloud?
Azure CycleCloud podporuje uzly clusteru, na kterých běží nejběžnější linuxová distribuce, a v závislosti na plánovači Windows Serveru. Předdefinované šablony jsou předem nakonfigurované s doporučenými výchozími nastaveními, ale můžete si vybrat image z Azure Marketplace nebo zřídit uzly na základě vlastních imagí. Druhá možnost může být vhodnější, pokud chcete minimalizovat zpoždění související s nastavením operačního systému po nasazení a případnými dalšími závislostmi úloh prostředí HPC. Může se také vyžadovat, aby vyhovoval potřebám podniku, zabezpečení nebo dodržování předpisů.
Vlastní image umožňují mít úplnou kontrolu nad předinstalovaným softwarem a počáteční konfigurací operačního systému. Jejich hlavní nevýhodou je režie spojená s údržbou více imagí, aby vyhovovala různým kombinacím aplikací a jejich verzí, zejména ve vývojových scénářích.
Jak používat projekty Azure CycleCloud k instalaci softwaru?
Projekt Azure CycleCloud je kolekce souborů, na které odkazujete při definování konfigurací uzlů clusteru prostřednictvím šablon. Projekty mají následující adresářovou strukturu:
\project
|- project.ini
|- blobs
|- templates
|- specs
| |
| default
| |- cluster-init
| |- scripts
| |- files
| |- tests
| | - chef
| |- site-cookbooks
| |- data_bag
| |- roles
Soubor project.ini obsahuje metadata projektu, včetně názvu, popisku, verze a typu. Mezi podporované typy patří plánovač a aplikace. První se používá k instalaci a inicializaci démonů plánovače na hlavní uzly a výpočetní uzly, zatímco druhá definuje úlohy clusteru.
Adresář objektů blob obsahuje objekty blob projektu, jako jsou binární soubory pro opensourcový projekt, který lze volně distribuovat, a objekty blob uživatele, které musí být vyloučeny z redistribuce projektu z důvodu licenčních omezení.
Adresář šablon obsahuje šablony, zatímco adresář specifikací hostuje specifikace definující konfigurace, které se mají použít na cílové uzly clusteru.
Poznámka
Například projekt Slurm obsahuje minimálně dvě specifikace: jedna pro hlavní uzly plánovače a druhá pro výpočetní uzly.
V adresáři specifikací existují dva podadresáře s názvem cluster-init a custom Chef. Cluster-init obsahuje skripty, které se spouští automaticky na cílovém uzlu. Nezpracované datové soubory, které se zkopírují do cílového uzlu, a testy, které se spustí při spuštění clusteru v testovacím režimu. Vlastní podadresář Chef obsahuje soubory specifické pro Chef, včetně cookbooků, data bagů a definičních souborů rolí. Ke konfiguraci uzlů můžete použít kuchařky Chefu a recepty. Specifikace cluster-init se mapují na role Chefu a kuchařky.
Poznámka
Azure CycleCloud používá Chef jako nástroj pro správu konfigurace pro přípravu a konfiguraci jednotlivých uzlů. CycleCloud používá Chef v samostatném režimu, který nespoléhá na centralizovaný server Chef. Místo toho se všechny kuchařky určené pro uzly spravovaného clusteru stáhnou z úložiště během fáze spouštění operačního systému. V tomto okamžiku Chef zpracovává seznam receptů definovaných ve specifikacích cluster-init uzlu a účinně přemění podkladový virtuální počítač na funkční uzel vysoce výkonného výpočetního prostředí (HPC).
Pokud chcete zřídit cluster založený na projektu, musíte nahrát obsah projektu do nástroje Azure CycleCloud Locker. Při každém spuštění cílového uzlu pak automaticky stáhne požadované soubory projektu ze nástroje Locker a zpracuje požadované specifikace.
Jak používat cloud-init s Azure CycleCloudem?
Azure CycleCloud podporuje cloud-init jako způsob konfigurace uzlů clusteru během fáze spouštění, než se použijí specifikace související s projektem. To poskytuje pohodlnou metodu pro řešení všech závislostí souvisejících s infrastrukturou nebo softwarem, jako je konfigurace nastavení sítě nebo použití aktualizací balíčků operačního systému.
I když můžete definovat konfiguraci cloud-init pomocí šablony, můžete toho dosáhnout také přímo z grafického rozhraní Azure CycleCloud. Při vytváření nebo úpravách clusteru najdete příslušná nastavení na kartě Cloud-Init, kde můžete zadat skripty pro každý typ uzlu.
Poznámka
Vzhledem k tomu, že cloud-init běží před specifikacemi projektu CycleCloud, může plánovač a konfigurace, které Azure CycleCloud aplikuje na uzel, přepsat změny provedené prostřednictvím cloud-init. Pokud potřebujete zajistit, aby se příkazy spouštěly po instalaci plánovače, měli byste místo toho použít specifikace projektu Azure CycleCloud.