Microsoft HPC Pack

Microsoft HPC Pack ist eine kostenlose HPC-Lösung , die auf Microsoft Azure mit Windows Server-Technologien basiert und eine vielzahl von HPC-Workloads unterstützt. Auf dieser Seite werden die Funktionen und Konfigurationsdetails für die HPC Pack-Integration mit Cyclecloud beschrieben.

Einschränkungen und unterstützte Versionen

Microsoft HPC Pack 2016 (mit Update 3) und Microsoft HPC Pack 2019 werden in CycleCloud mit folgenden Einschränkungen unterstützt:

  • Der Cluster muss in einem Active Directory-Domäne erstellt werden.
  • Der Cluster kann nur einen einzelnen Kopfknoten enthalten.
  • Hohe Verfügbarkeit auf dem Kopfknoten wird noch nicht unterstützt.
  • Die Anpassung des VM-Bilds des Kopfknotens wird nicht unterstützt.
  • Linux-Computeknoten werden noch nicht unterstützt.
  • Der Kopfknoten erfordert ausgehenden Internetzugriff, um Nuget-Binärdatei und Python3 herunterzuladen.
  • DIE CLI- und Cloud-Init-Konfiguration wird noch nicht unterstützt.

Voraussetzungen

Active Directory-Domäne

Derzeit müssen alle HPC Pack-Knoten in eine Active Directory-Domäne eingebunden werden. Wenn Sie den HPC Pack-Cluster in einem virtuellen Netzwerk bereitstellen, das über eine VPN-Verbindung von Site oder ExpressRoute mit Ihrem Unternehmensnetzwerk verfügt, gibt es in der Regel bereits eine vorhandene Active Directory-Domäne. Wenn Sie noch keine AD-Domäne in Ihrem virtuellen Netzwerk haben, können Sie eine neue AD-Domäne erstellen, indem Sie den Kopfknoten als Domänencontroller bewerben.

Azure-Schlüsseltresor

Microsoft HPC Pack erfordert ein PFX-Zertifikat, um die Knotenkommunikation zu sichern, und es erfordert auch AD-Domänenanmeldeinformationen, um den Knoten in der AD-Domäne beitreten zu können. Während Sie in der Vorlage direkt eine PFX-Datei, ein Schutzkennwort und ein Benutzerkennwort angeben können, empfehlen wir dringend, Azure Key Vault zum sicheren Behandeln des Zertifikats und des Benutzerkennworts zu verwenden. Verweisen Sie auf das Erstellen eines Azure-Key Vault-Zertifikats.

Der Cluster erfordert außerdem Den Benutzernamen und das Kennwort eines AD-Administratorkontos, um Knoten zur Domäne zu verknüpfen, wenn sie erstellt werden. Es wird dringend empfohlen, Azure Key Vault zu verwenden.

Verwaltete Identität von Azure-Benutzern

Um Azure Key Vault für das Zertifikat und die Anmeldeinformationen zu verwenden, müssen Sie eine Azure-Benutzer zugewiesene verwaltete Identität erstellen und die Berechtigung "Get" für geheime und das Zertifikat des Azure-Key Vault erteilen.

Sie können auf dieses Key Vault Lernprogramm verweisen, um Ihre Key Vault und eine verwaltete Identität mit Key Vault Zugriff zu erstellen.

Es wird empfohlen, Azure Role-Based Access Control zu verwenden, um Key Vault Berechtigungen für die verwaltete Identität zuzuweisen.

HPC Pack-Knotenrollen

Es gibt drei verschiedene Knotenrollen im HPC Pack-Cluster:

  • Kopfknoten: Stellt die Clusterverwaltungs- und Auftragsplanungsdienste bereit. Derzeit wird nur ein einzelner Kopfknoten mit lokalen Datenbanken unterstützt.
  • Brokerknoten: Empfängt Anforderungen von einem SOA-Client, verteilt sie an die Diensthosts auf den Berechnungsknoten und sammelt dann Antworten und sendet sie an den Client zurück. Die Brokerknoten werden im Brokerknotenarray erstellt. Sie müssen Brokerknoten erstellen, wenn Sie eine SOA-Workload im Cluster ausführen möchten.
  • Berechnungsknoten: Akzeptiert und führt Clusteraufträge aus. Die Berechnungsknoten werden im cn-Knotenarray erstellt.

Erstellen eines neuen HPC Pack-Clusters

Sie können auf das Microsoft HPC Pack-Symbol unter "Zeitplaner" klicken, um einen neuen Microsoft HPC Pack-Cluster zu erstellen.

Geben Sie auf der Seite " Informationen " einen eindeutigen Clusternamen für den Cluster an, da sie als NetBIOS-Computername des Kopfknotens verwendet wird, stellen Sie sicher, dass sie in der AD-Domäne eindeutig ist und die Benennungskonventionen erfüllt.

Basic Settings

  • HPC Pack Version: Sie können HPC Pack 2019 oder HPC Pack 2016(mit Update 3) auswählen. Es wird empfohlen, die neueste HPC Pack-Version zu verwenden, d. h. HPC Pack 2019.
  • Virtual Machines: Sie können die Azure-Region auswählen, in der Sie den HPC Pack-Cluster erstellen möchten, und den VM-Typ für jede Clusterknotenrolle. Sie können auch Zahlen angeben. Broker , um eine oder mehrere Brokerknoten zu erstellen, wenn Sie SOA-Workloads im Cluster ausführen möchten.

Automatische Skalierung

Der Cluster wird ohne Berechnungsknoten gestartet. Sie können die Automatische Skalierung aktivieren, um die Berechnungsknoten je nach Clusterlasten automatisch zu skalieren. Sie können Max Cores verwenden, um die maximale Anzahl der vCPU-Kerne Ihres Clusters anzugeben. Der Autoscaler wird jede Minute als Windows-Geplanter Vorgang auf dem Kopfknoten ausgeführt.

Es gibt zwei Skalierungsoptionen für Berechnungsknoten: Deallocate oder Beenden. Wenn Sie die Option " Beenden " auswählen, entfernt der HPC Pack-Cluster immer die Berechnungsknoten-VMs im Skalierungs-Down-Bereich. Wenn Sie die Option "Deallocate " auswählen, wird der HPC Pack-Cluster den Berechnungsknoten-VMs im Skalierungsmaßstab behandeln und bis zu einer konfigurierbaren Anzahl von Tagen (VM-Aufbewahrungstage) verwalten. Die Deallocated Compute Nodes werden nicht aus dem HPC Pack-Cluster entfernt, solange sie weiterhin aufbewahrt werden. Sie werden jedoch offline genommen und im HPC Pack-Cluster als nicht erreichbar angezeigt. Die Option "Deallocate" wird für den HPC Pack-Cluster empfohlen, da sie die Knotenvorbereitungszeit für die Skalierung erheblich verringern kann, und Sie zahlen nur für den Datenträgerspeicher der Deallocated-VMs.

Infrastructure Settings (Infrastruktureinstellungen)

  • Virtual Network: Sie können ein vorhandenes virtuelles Netzwerk und Subnetz auswählen, in dem der HPC Pack-Cluster erstellt wird.
  • Active Directory-Domäne: Wenn bereits eine AD-Domäne in Ihrem virtuellen Netzwerk vorhanden ist, geben Sie den vollständigen Domänennamen und den OU-Pfad an, in dem die Clusterknoten verbunden werden. Oder wählen Sie "Neue AD-Domäne " aus, um eine neue AD-Domäne zu erstellen, indem Sie den Kopfknoten als Domänencontroller fördern.
  • Schlüssel und Zertifikat: Wir empfehlen dringend, dass Sie KeyVault verwenden, um Azure Key Vault zum Übergeben des Knotenkommunikationszertifikats und des Benutzerkennworts zu verwenden. Wählen Sie inMSI Identity azure User Assigned Identity aus, die Sie in der Dropdownliste erstellt haben, und geben Sie den azure Key Vault-Namen an, der in Voraussetzungen erstellt wurde.
  • Benutzeranmeldeinformationen: Geben Sie im Benutzernamen den Domänenbenutzernamen an. Geben Sie in "Kennwortschlüssel" den geheimen Namen von Azure Key Vault an, den Sie in "Voraussetzungen" erstellt haben, um das Kennwort des Domänenbenutzers zu speichern.
  • PFX-Zertifikat: Geben Sie im Zertifikatnamen den azure Key Vault Zertifikatnamen an, den Sie in Voraussetzungen erstellt haben.

Erweiterte Einstellungen

  • Azure-Einstellungen: Wählen Sie die Azure-Cloudanmeldeinformationen aus der Dropdownliste aus.
  • Clustersoftware: Geben Sie das Betriebssystem (Betriebssystem) für jede Clusterknotenrollen an.
  • Erweiterte Netzwerke: Standardmäßig werden die im virtuellen Netzwerk konfigurierten DNS-Server auf alle HPC-Knoten angewendet, sie können optional DNS-Server angeben, wenn Sie einen anderen DNS-Server verwenden möchten. Sie können auch optional HN Public IP auswählen, um eine öffentliche IP-Adresse für den Kopfknoten zuzuweisen.

azhpcpack CLI

Dieazhpcpack.ps1 CLI ist die Hauptschnittstelle für alle automatischen Skalierungsverhalten (die Aufrufe der geplanten Aufgabeazhpcpack.ps1 autoscale). Die CLI ist in C:\cycle\hpcpack-autoscaler\bin verfügbar)

Die CLI kann verwendet werden, um Probleme mit der automatischen Skalierung zu diagnostizieren oder die Clusterkalierung manuell innerhalb des Kopfknotens zu steuern.

Befehl BESCHREIBUNG
Automatische Skalierung End-to-End-Autoscale-Prozess, einschließlich Erstellung, Löschung und Verknüpfung von Knoten.
buckets Druckt Informationen zum Automatischen Bucket aus, z. B. Grenzwerte usw.
config Schreibt die effektive Automatische Skalierungskonfiguration nach jeder Vorverarbeitung in stdout
create_nodes Erstellen Sie eine Reihe von Knoten mit verschiedenen Einschränkungen. Eine CLI-Version der Knotenmanager-Schnittstelle.
default_output_columns Ausgabespalten für einen optionalen Befehl.
delete_nodes Löschen Sie den Knoten und Löschvorgang aus dem Cluster.
initconfig Erstellt eine anfängliche Automatische Skalierungskonfiguration. Schreibt in stdout.
Grenzwerte Schreibt eine detaillierte Gruppe von Grenzwerten für jeden Bucket. Standardeinstellung für json aufgrund der Anzahl von Feldern.
nodes Abfrageknoten.
refresh_autocomplete Aktualisiert lokale autovervollständigene Informationen für clusterspezifische Ressourcen und Knoten.
retry_failed_nodes Retries alle Knoten in einem fehlgeschlagenen Zustand.
validate_constraint Überprüft dann die Ausgabe als JSON eine oder mehrere Einschränkungen.