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:
    • Einmaliges Anmelden

    • 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-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-Client-Dienstprogramme – Installieren Sie die HPC Pack-Clientdienstprogramme 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 "Microsoft Entra-ID ", klicken Sie auf "Benutzer und Gruppen", und stellen Sie sicher, dass bereits Benutzerkonten erstellt oder konfiguriert sind.

  4. Klicken Sie in der Microsoft Entra-ID auf "App-Registrierungen>Neue Anwendungsregistrierung". Geben Sie die folgenden Informationen ein:

    • Name - HPCPackClusterServer
    • Unterstützte Kontotypen – Auswählen von Konten in einem beliebigen Organisationsverzeichnis (Beliebiger Microsoft Entra ID-Mandant – Multitenant)
    • AnwendungstypWeb-App/API auswählen
    • Umleitungs-URL: Die Basis-URL für das Beispiel, das standardmäßig ist. https://hpcserver
    • Klicken Sie auf "Erstellen".
  5. Nachdem die App hinzugefügt wurde, wählen Sie sie in der App-Registrierungsliste aus. Klicken Sie dann auf "API verfügbar machen". Geben Sie die folgenden Informationen ein:

    • Ändern Sie den App-ID-URI in https://<Directory_name>/<application_name>. Ersetzen Sie <Directory_name> ihn durch den vollständigen Namen Ihres Azure AD-Mandanten, z. B. durch <application_name> den Namen, hpclocal.onmicrosoft.comden Sie zuvor HPCPackClusterServerausgewählt haben.

    • Klicken Sie auf "Bereich hinzufügen", geben Sie die folgenden Informationen ein.

      ** Bereichsname - user_impersonation.

      ** Wer zustimmen kann – Wählen Sie Administratoren und Benutzer aus.

      ** Anzeigename der Administratorzustimmung und Beschreibung der Administratorzustimmung – Geben Sie den Namen und die Beschreibung ein.

  6. Klicken Sie auf Speichern. Wenn das Speichern abgeschlossen ist, klicken Sie auf der App-Seite auf "Manifest". Bearbeiten Sie das Manifest, indem Sie die appRoles Einstellung 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 der Microsoft Entra-ID auf "Unternehmensanwendungen>Alle Anwendungen". Wählen Sie HPCPackClusterServer aus der Liste aus.

  8. Klicken Sie auf "Eigenschaften", und ändern Sie die Benutzerzuweisung in "Ja". Klicken Sie auf Speichern.

  9. Klicken Sie auf Benutzer und Gruppen>"Benutzer hinzufü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 der Microsoft Entra-ID auf "App-Registrierungen>Neue Anwendungsregistrierung". Geben Sie die folgenden Informationen ein:

    • Name - HPCPackClusterClient
    • AnwendungstypNative Auswählen
    • Umleitungs-URI - https://hpcclient
    • Klicken Sie auf Erstellen.
  4. Nachdem die App hinzugefügt wurde, wählen Sie sie in der App-Registrierungsliste aus. Kopieren Sie den Anwendungs-ID-Wert , und speichern Sie ihn. Sie benötigen dies später, wenn Sie Ihre Anwendung konfigurieren.

  5. Klicken Sie auf API-Berechtigungen>Hinzufügen einerBerechtigungs-APIs>, die meine Organisation verwendet. Suchen Sie die HpcPackClusterServer-Anwendung (erstellt in Schritt 1), und wählen Sie sie aus. Klicken Sie auf delegierte Berechtigungen, wählen Sie user_impersonation aus, und klicken Sie dann auf "Berechtigungen hinzufügen".

  6. Klicken Sie auf der App-Seite auf "Manifest". Bearbeiten Sie das Manifest, indem Sie die allowPublicClient Einstellung suchen und den Wert trueändern, und klicken Sie dann auf "Speichern".

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
    

    Hierbei gilt:

    • AADTenant Gibt den Azure AD-Mandantennamen an, z. B. hpclocal.onmicrosoft.com
    • AADClientAppId Gibt die Anwendungs-ID für die app an, die in Schritt 2 erstellt wurde.
  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-Clienthilfsprogramme aus.

Um den Clientcomputer vorzubereiten, installieren Sie das Zertifikat, das während der HPC-Clustereinrichtung auf dem Clientcomputer verwendet wird. Verwenden Sie die standardmäßigen Windows-Zertifikatverwaltungsverfahren, um das öffentliche Zertifikat in den Zertifikaten zu installieren – aktuellen Speicherfür vertrauenswürdige Stammzertifizierungsstellen für Benutzer>.

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.

Ca und CN-Prüfung ü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. Informationen zu Auftragsübermittlungsoptionen 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. Sehen Sie sich das folgende Beispiel an:

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 angegeben Submit-HpcJobist, 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>