Delen via


CycleCloud-clusters

In CycleCloud beschrijft het termcluster een groep verbonden computers (knooppunten) die samenwerken als één systeem. Clusters kunnen gecombineerd worden. Een rekencluster dat bestaat uit een Hoofdknooppunt van de Grid Engine-planner en rekenknooppunten kan bijvoorbeeld een BeeGFS-cluster koppelen dat bestaat uit verschillende metagegevens en opslagservers. Zowel de rekenclusters als de opslagclusters smelten samen tot één bovenliggend HPC-cluster of -systeem.

Overzichtsdiagram

Knooppunten en knooppuntmatrices

Clusters bestaan in wezen uit knooppunten, die elk een specifieke rol in het HPC-systeem uitvoeren. De termenknooppunt en VM worden af en toe door elkaar gebruikt, maar zijn semantisch gescheiden in CycleCloud. Knooppunten waaruit een cluster bestaat, zijn virtuele machines in Azure die het voorbereidings- en configuratieproces voltooien. Met andere woorden, u maakt VM's op basis van de Azure-infrastructuurservicelagen. Nadat u de software hebt geïnstalleerd en de configuratiestappen hebt voltooid, zijn de VM'sknooppunten van een HPC-cluster.

Architectuurdiagram

CycleCloud heeft twee typen knooppunten: zelfstandige knooppunten en knooppuntmatrices. Een knooppuntmatrix is een verzameling identiek geconfigureerde knooppunten. Het onderscheid tussen knooppunt versus knooppuntarray volgt de Analogie van DevOps Huisdieren versus Vee. Zelfstandige knooppunten worden samengesteld op basis van één VIRTUELE machine in Azure. Knooppuntarrays komen overeen met virtuele machineschaalsets.

Er zijn echter cruciale verschillen tussen knooppuntmatrices en virtuele-machineschaalsets. Een matrix met één knooppunt kan bestaan uit meerdere virtuele-machineschaalsets. Met deze configuratie kan één knooppuntmatrix worden gebouwd op basis van VM's met verschillende grootten of zelfs verschillende VM-families. De enige beperking is dat alle knooppunten in een knooppuntmatrix dezelfde rol in het cluster uitvoeren. Alle knooppunten bieden bijvoorbeeld bronnen aan één wachtrij van een taakplanner.

Cluster sjablonen

Definieer de topologie of de indeling van knooppunten in een CycleCloud-cluster in tekstsjablonen. Met de sjablonen worden de relaties tussen knooppunten van een cluster ingedeeld. Als er geneste clusters zijn, definiëren de sjablonen de relatie tussen bovenliggende en onderliggende clusters. De sjablonen definiëren ook de rol van elk knooppunt.

Clustersjablonen definiëren met de INI-indeling. Gebruik secties [die zijn uitgelijnd met vierkante haken en ] om clusters, knooppunten en knooppuntmatrices te definiëren. De basiselementen van INI-bestanden zijn sleutel-waardepaarverklaringen die de configuratiedetails van elke sectie bieden. Deze configuratiegegevens bieden contextuele informatie voor het maken van elk knooppunt van een cluster, zoals de afbeelding van de virtuele machine om de virtuele machine op te starten en het subnet voor de virtuele machine. Zie CycleCloud-clustersjablonen voor meer informatie.

Knooppuntvoorbereiding en -configuratie

CycleCloud levert VM's uit basis-VM-afbeeldingen die zijn gedefinieerd in de clustersjabloon. Via een reeks stappen die worden beheerd door de CycleCloud-agent (Jetpack) tijdens het opstartproces, wordt het besturingssysteem op de VM geïnitialiseerd en geconfigureerd om het te converteren naar een werkend HPC-knooppunt. Deze stappen variëren van scripts om de planningssoftware te installeren en configureren, tot de laatste-mijlconfiguratie voor het koppelen van een bestandssysteem.

Diagram voor voorbereiding van knooppunten

In de configuratiesectie van elk knooppunt definieert u cluster-init-specificaties. Voor het opstarten van VM's worden deze specificaties gebruikt om een specifieke rol in het cluster voor te bereiden. CycleCloud maakt gebruik van Chef als het automatiseringsplatform voor infrastructuur voor het voorbereiden en configureren van elk knooppunt. Elke cluster-init-specificatie wordt toegewezen aan een of meer Chef-rollen en/of Cookbook-recepten die moeten worden uitgevoerd op de opstart-VM.

CycleCloud maakt gebruik van Chef in een zelfstandige modus die niet afhankelijk is van een gecentraliseerde Chef-server. In plaats daarvan wordt de volledige set Chef Cookbooks, die nodig zijn om elke VM voor te bereiden, tijdens de opstartfase van de VM gedownload van een Azure Storage Account die aan de gebruiker toebehoort. Deze set kookboeken wordt vanuit de CycleCloud applicatieserver gecachet naar de opslagaccount tijdens de clustercreatiefase.

Nadat u deze kookboeken hebt gedownload, verwerkt Chef de lijst met recepten die zijn gedefinieerd in de cluster-init-specificaties van het knooppunt. Hiermee wordt een voorbereidings- en configuratiefase geactiveerd waarmee de VM wordt geconverteerd naar een werkend HPC-knooppunt.

U ontwerpt specificaties als logische verzamelingen die projecten worden genoemd. Een project voor een batchplanner, zoals Slurm, bestaat bijvoorbeeld uit minimaal twee specificaties: een voor de hoofdknooppunten van de scheduler en de andere voor de rekenknooppunten. Lees meer over de CycleCloud-projecten.

Knooppuntindeling

Afhankelijk van de scheduler en services die in een cluster worden gebruikt, moet CycleCloud soms de voorbereidingsfase van knooppunten in een cluster organiseren door verschillende knooppunten te coördineren. Voor sommige schedulers is bijvoorbeeld vereist dat elk rekenknooppunt zichzelf registreert bij de scheduler-daemon. Deze vereiste betekent dat de rekenknooppunten op de hoogte moeten zijn van het adres van het hoofdknooppunt. De rekenknooppunten moeten ook herkennen dat het hoofdknooppunt volledig is voorbereid en moeten wachten als dat niet het geval is.

CycleCloud maakt gebruik van dit element van Service Discovery voor server-clientrelaties van het bestandssysteem.

Meer informatie