Freigeben über


Verwalten eines HPC Pack-Clusters in Azure mithilfe von Azure Active Directory

Microsoft HPC Pack 2016 (und höher) unterstützt die Integration in Azure Active Directory (Azure AD) für Administratoren, die einen HPC Pack-Cluster in Azure bereitstellen.

Führen Sie die Schritte in diesem Artikel für die folgenden allgemeinen Aufgaben aus:

  • Manuelle Integration Ihres HPC Pack-Clusters in Ihren Azure AD-Mandanten
  • Verwalten und Planen von Aufträgen in Ihrem HPC Pack-Cluster in Azure

Die Integration einer HPC Pack-Clusterlösung in Azure AD folgt den Standardschritten zur Integration anderer Anwendungen und Dienste. In diesem Artikel wird davon ausgegangen, dass Sie mit der grundlegenden Benutzerverwaltung in Azure AD vertraut sind. Weitere Informationen und Hintergründe.

Vorteile der Integration

Azure Active Directory (Azure AD) ist ein cloudbasierter mehrinstanzenbasierter Verzeichnis- und Identitätsverwaltungsdienst, der einmaliges Anmelden (Single Sign-On, SSO) für Cloudlösungen bereitstellt.

Die Integration eines HPC Pack-Clusters mit Azure AD kann Ihnen dabei helfen, die folgenden Ziele zu erreichen:

  • Entfernen Sie den herkömmlichen Active Directory-Domänencontroller aus dem HPC Pack-Cluster. Dies kann dazu beitragen, die Kosten für die Verwaltung des Clusters zu reduzieren, wenn dies für Ihr Unternehmen nicht erforderlich ist, und den Bereitstellungsprozess zu beschleunigen.
  • Nutzen Sie die folgenden Vorteile, die von Azure AD bereitgestellt werden:
    • Single Sign-On

    • Verwenden einer lokalen AD-Identität für den HPC Pack-Cluster in Azure

      Azure Active Directory-Umgebung

Voraussetzungen

  • HPC Pack 2016-Cluster, der auf virtuellen Azure-Computern bereitgestellt wird – Schritte finden Sie unter Bereitstellen eines HPC Pack 2016-Clusters in Azure. Sie benötigen den DNS-Namen des Kopfknotens und die Anmeldeinformationen eines Clusteradministrators, um die Schritte in diesem Artikel auszuführen.

    Hinweis

    Die Azure Active Directory-Integration wird in Versionen von HPC Pack vor HPC Pack 2016 nicht unterstützt.

  • Clientcomputer – Sie benötigen einen Windows- oder Windows Server-Clientcomputer, um HPC Pack-Clientprogramme auszuführen. Wenn Sie nur das HPC Pack-Webportal oder die REST-API zum Übermitteln von Aufträgen verwenden möchten, können Sie einen beliebigen Clientcomputer ihrer Wahl verwenden.

  • HPC Pack-Clientdienstprogramme – Installieren Sie die HPC Pack-Clientprogramme auf dem Clientcomputer, indem Sie das kostenlose Installationspaket verwenden, das im Microsoft Download Center verfügbar ist.

Schritt 1: Registrieren des HPC-Clusterservers bei Ihrem Azure AD-Mandanten

  1. Melden Sie sich beim Azure-Portal an.

  2. Wenn Ihr Konto Ihnen Zugriff auf mehr als einen Azure AD-Mandanten gewährt, klicken Sie in der oberen rechten Ecke auf Ihr Konto. Legen Sie dann Ihre Portalsitzung auf den gewünschten Mandanten fest. Sie müssen über die Berechtigung zum Zugreifen auf Ressourcen im Verzeichnis verfügen.

  3. Klicken Sie im linken Navigationsbereich "Dienste" auf Azure Active Directory-, klicken Sie auf Benutzer und Gruppen, und stellen Sie sicher, dass bereits Benutzerkonten erstellt oder konfiguriert sind.

  4. Klicken Sie in Azure Active Directory-auf App-Registrierungen>Neue Anwendungsregistrierung. Geben Sie die folgenden Informationen ein:

    • Name - HPCPackClusterServer
    • Anwendungstyp – Wählen Sie Web App/API-
    • Anmelde-URL– Die Basis-URL für das Beispiel, die standardmäßig https://hpcserver
    • Klicke auf Erstellen.
  5. Nachdem die App hinzugefügt wurde, wählen Sie sie in der App-Registrierungen Liste aus. Klicken Sie dann auf Einstellungen>Eigenschaften. Geben Sie die folgenden Informationen ein:

    • Wählen Sie Ja für mehrinstanzenfähigenaus.
    • Ändern Sie App-ID-URI in https://<Directory_name>/<application_name>. Ersetzen Sie <Directory_name> durch den vollständigen Namen Ihres Azure AD-Mandanten, z. B. hpclocal.onmicrosoft.com, und ersetzen Sie <application_name> durch den Namen, den Sie zuvor ausgewählt haben, z. B. HPCPackClusterServer.
  6. Klicke auf Speichern. Wenn das Speichern abgeschlossen ist, klicken Sie auf der App-Seite auf Manifest-. Bearbeiten Sie das Manifest, indem Sie die Einstellung appRoles suchen und die folgende Anwendungsrolle hinzufügen, und klicken Sie dann auf Speichern:

    "appRoles": [
        {
        "allowedMemberTypes": [
            "User",
            "Application"
        ],
        "displayName": "HpcAdminMirror",
        "id": "61e10148-16a8-432a-b86d-ef620c3e48ef",
        "isEnabled": true,
        "description": "HpcAdminMirror",
        "value": "HpcAdminMirror"
        },
        {
        "allowedMemberTypes": [
            "User",
            "Application"
        ],
        "description": "HpcUsers",
        "displayName": "HpcUsers",
        "id": "91e10148-16a8-432a-b86d-ef620c3e48ef",
        "isEnabled": true,
        "value": "HpcUsers"
        }
    ],
    
  7. Klicken Sie in Azure Active Directory-auf Unternehmensanwendungen>Alle Anwendungen. Wählen Sie HPCPackClusterServer- aus der Liste aus.

  8. Klicken Sie auf Eigenschaften, und ändern Sie Benutzerzuweisung erforderlich in Ja. Klicke auf Speichern.

  9. Klicken Sie auf Benutzer und Gruppen>Benutzerhinzufügen. Wählen Sie einen Benutzer aus, und wählen Sie eine Rolle aus, und klicken Sie dann auf Zuweisen. Weisen Sie dem Benutzer eine der verfügbaren Rollen (HpcUsers oder HpcAdminMirror) zu. Wiederholen Sie diesen Schritt mit zusätzlichen Benutzern im Verzeichnis. Hintergrundinformationen zu Clusterbenutzern finden Sie unter Verwalten von Clusterbenutzern.

Schritt 2: Registrieren des HPC-Clusterclients bei Ihrem Azure AD-Mandanten

  1. Melden Sie sich beim Azure-Portal an.

  2. Wenn Ihr Konto Ihnen Zugriff auf mehr als einen Azure AD-Mandanten gewährt, klicken Sie in der oberen rechten Ecke auf Ihr Konto. Legen Sie dann Ihre Portalsitzung auf den gewünschten Mandanten fest. Sie müssen über die Berechtigung zum Zugreifen auf Ressourcen im Verzeichnis verfügen.

  3. Klicken Sie in Azure Active Directory-auf App-Registrierungen>Neue Anwendungsregistrierung. Geben Sie die folgenden Informationen ein:

    • Name - HPCPackClusterClient
    • Anwendungstyp – Wählen Sie native
    • Umleitungs-URI- - https://hpcclient
    • Klicke auf Erstellen.
  4. Nachdem die App hinzugefügt wurde, wählen Sie sie in der App-Registrierungen Liste aus. Kopieren Sie die Anwendungs-ID Wert, und speichern Sie ihn. Sie benötigen dies später, wenn Sie Ihre Anwendung konfigurieren.

  5. Klicken Sie auf Einstellungen>Erforderliche Berechtigungen>>API-auswählen. Suchen Sie die HpcPackClusterServer-Anwendung (erstellt in Schritt 1), und wählen Sie sie aus.

  6. Wählen Sie auf der Seite Access aktivieren Access HpcClusterServeraus. Klicken Sie dann auf Fertig.

Schritt 3: Konfigurieren des HPC-Clusters

  1. Stellen Sie eine Verbindung mit dem HPC Pack 2016-Kopfknoten in Azure her.

  2. Starten Sie HPC PowerShell.

  3. Führen Sie den folgenden Befehl aus:

    
    Set-HpcClusterRegistry -SupportAAD true -AADInstance https://login.microsoftonline.com/ -AADAppName HpcPackClusterServer -AADTenant <your AAD tenant name> -AADClientAppId <client ID> -AADClientAppRedirectUri https://hpcclient
    

    where

    • AADTenant gibt den Azure AD-Mandantennamen an, z. B. hpclocal.onmicrosoft.com
    • AADClientAppId gibt die Anwendungs-ID für die in Schritt 2 erstellte App an.
  4. Führen Sie je nach Konfiguration des Kopfknotens eine der folgenden Aktionen aus:

    • Starten Sie den HpcScheduler-Dienst in einem einzigen Head-Knoten HPC Pack-Cluster neu.

    • Führen Sie in einem HPC Pack-Cluster mit mehreren Kopfknoten die folgenden PowerShell-Befehle auf dem Kopfknoten aus, um den HpcSchedulerStateful--Dienst neu zu starten:

    Connect-ServiceFabricCluster
    
    Move-ServiceFabricPrimaryReplica –ServiceName "fabric:/HpcApplication/SchedulerStatefulService"
    
    

Schritt 4: Verwalten und Übermitteln von Aufträgen vom Client

Um die HPC Pack-Clientprogramme auf Ihrem Computer zu installieren, laden Sie die HPC Pack 2016-Setupdateien (vollständige Installation) aus dem Microsoft Download Center herunter. Wenn Sie mit der Installation beginnen, wählen Sie die Setupoption für die HPC Pack-Clientprogrammeaus.

Um den Clientcomputer vorzubereiten, installieren Sie das Zertifikat, das während HPC-Clustersetup auf dem Clientcomputer verwendet wird. Verwenden Sie die standardmäßigen Windows-Zertifikatverwaltungsverfahren, um das öffentliche Zertifikat auf den Zertifikaten zu installieren – aktueller Benutzer>vertrauenswürdigen Stammzertifizierungsstellen Speicher.

Tipp

Während der Clienteinrichtung müssen Sie möglicherweise die CN-Überprüfung auswählen, wenn Ihr Zertifikat-CN nicht mit Der Zeitplan-URL übereinstimmt". Sie können auch "Zertifizierungsstelle und CN-Prüfung überspringen" auswählen, damit Sie das Zertifikat nicht auf Ihrem Clientcomputer importieren müssen.

Prüfung der Zertifizierungsstelle und des CN überspringen

Sie können nun die HPC Pack-Befehle ausführen oder die HPC Pack Job Manager-GUI zum Senden und Verwalten von Clusteraufträgen mithilfe des Azure AD-Kontos verwenden. Optionen für die Auftragsübermittlung finden Sie unter Übermitteln von HPC-Aufträgen an einen HPC Pack-Cluster in Azure.

Hinweis

Wenn Sie zum ersten Mal versuchen, eine Verbindung mit dem HPC Pack-Cluster in Azure herzustellen, wird ein Popupfenster angezeigt. Geben Sie Ihre Azure AD-Anmeldeinformationen ein, um sich anzumelden. Das Token wird dann zwischengespeichert. Spätere Verbindungen mit dem Cluster in Azure verwenden das zwischengespeicherte Token, es sei denn, Authentifizierungsänderungen oder der Cache werden gelöscht.

Nach Abschluss der vorherigen Schritte können Sie z. B. wie folgt nach Aufträgen von einem lokalen Client abfragen:

Get-HpcJob –State All –Scheduler https://<Azure load balancer DNS name> -Owner <Azure AD account>

Nützliche Cmdlets für die Auftragsübermittlung mit Azure AD-Integration

Verwalten des lokalen Tokencaches

HPC Pack 2016 bietet die folgenden HPC PowerShell-Cmdlets zum Verwalten des lokalen Tokencaches. Diese Cmdlets sind nützlich, um Aufträge nicht interaktiv zu übermitteln. Siehe folgendes Beispiel:

Remove-HpcTokenCache

$SecurePassword = "<password>" | ConvertTo-SecureString -AsPlainText -Force

Set-HpcTokenCache -UserName <AADUsername> -Password $SecurePassword -scheduler https://<Azure load balancer DNS name>

Festlegen der Anmeldeinformationen zum Übermitteln von Aufträgen mithilfe des Azure AD-Kontos

Manchmal möchten Sie den Auftrag möglicherweise unter dem HPC-Clusterbenutzer ausführen (für einen in die Domäne eingebundenen HPC-Cluster, der als ein Domänenbenutzer ausgeführt wird; für einen nicht in die Domäne eingebundenen HPC-Cluster, führen Sie als einen lokalen Benutzer aus, der auf allen Kopfknoten definiert ist).

  1. Verwenden Sie die folgenden Befehle, um die Anmeldeinformationen festzulegen:

    $localUser = "<username>"
    
    $localUserPassword="<password>"
    
    $secpasswd = ConvertTo-SecureString $localUserPassword -AsPlainText -Force
    
    $mycreds = New-Object System.Management.Automation.PSCredential ($localUser, $secpasswd)
    
    Set-HpcJobCredential -Credential $mycreds -Scheduler https://<Azure load balancer DNS name>
    
  2. Übermitteln Sie dann den Auftrag wie folgt. Der Auftrag/die Aufgabe wird unter $localUser auf den Computeknoten ausgeführt.

    $emptycreds = New-Object System.Management.Automation.PSCredential ($localUser, (new-object System.Security.SecureString))
    ...
    $job = New-HpcJob –Scheduler https://<Azure load balancer DNS name>
    
    Add-HpcTask -Job $job -CommandLine "ping localhost" -Scheduler https://<Azure load balancer DNS name>
    
    Submit-HpcJob -Job $job -Scheduler https://<Azure load balancer DNS name> -Credential $emptycreds
    

    Wenn –Credential nicht mit Submit-HpcJobangegeben wird, wird der Auftrag oder die Aufgabe unter einem lokalen zugeordneten Benutzer als Azure AD-Konto ausgeführt. (Der HPC-Cluster erstellt einen lokalen Benutzer mit demselben Namen wie das Azure AD-Konto, um die Aufgabe auszuführen.)

  3. Ab HPC Pack 2016 Update 2 müssen Sie keine erweiterten Daten für Anmeldeinformationen festlegen, da der benutzerübergreifende MPI-Auftrag automatisch generiert wird. Wenn Sie jedoch noch eine frühere Version verwenden, können Sie erweiterte Daten für das Azure AD-Konto wie folgt festlegen:

    • Festlegen erweiterter Daten für das Azure AD-Konto selbst

      Set-HpcJobCredential -Scheduler https://<Azure load balancer DNS name> -ExtendedData <data> -AadUser
      
    • Festlegen erweiterter Daten und Ausführen als HPC-Clusterbenutzer

      Set-HpcJobCredential -Credential $mycreds -Scheduler https://<Azure load balancer DNS name> -ExtendedData <data>