Gérer un cluster HPC Pack dans Azure à l’aide d’Azure Active Directory
Microsoft HPC Pack 2016 (et version ultérieure) prend en charge l’intégration à Azure Active Directory (Azure AD) pour les administrateurs qui déploient un cluster HPC Pack dans Azure.
Suivez les étapes décrites dans cet article pour les tâches de haut niveau suivantes :
- Intégrer manuellement votre cluster HPC Pack à votre locataire Azure AD
- Gérer et planifier des travaux dans votre cluster HPC Pack dans Azure
L’intégration d’une solution de cluster HPC Pack à Azure AD suit les étapes standard pour intégrer d’autres applications et services. Cet article part du principe que vous connaissez la gestion des utilisateurs de base dans Azure AD. Pour plus d’informations et d’arrière-plan.
Avantages de l’intégration
Azure Active Directory (Azure AD) est un service d’annuaire et de gestion des identités multilocataire qui fournit un accès à l’authentification unique (SSO) aux solutions cloud.
L’intégration d’un cluster HPC Pack à Azure AD peut vous aider à atteindre les objectifs suivants :
- Supprimez le contrôleur de domaine Active Directory traditionnel du cluster HPC Pack. Cela peut vous aider à réduire les coûts de maintenance du cluster si cela n’est pas nécessaire pour votre entreprise et accélérer le processus de déploiement.
- Tirez parti des avantages suivants apportés par Azure AD :
Authentification unique
Utilisation d’une identité AD locale pour le cluster HPC Pack dans Azure
d’environnement Azure Active Directory
Prérequis
cluster HPC Pack 2016 déployé dans des machines virtuelles Azure - Pour plus d’informations, consultez Déployer un cluster HPC Pack 2016 dans Azure. Vous avez besoin du nom DNS du nœud principal et des informations d’identification d’un administrateur de cluster pour effectuer les étapes décrites dans cet article.
Remarque
L’intégration d’Azure Active Directory n’est pas prise en charge dans les versions de HPC Pack avant HPC Pack 2016.
ordinateur client : vous avez besoin d’un ordinateur client Windows ou Windows Server pour exécuter des utilitaires clients HPC Pack. Si vous souhaitez uniquement utiliser le portail web HPC Pack ou l’API REST pour envoyer des travaux, vous pouvez utiliser n’importe quel ordinateur client de votre choix.
utilitaires clients HPC Pack : installez les utilitaires clients HPC Pack sur l’ordinateur client, à l’aide du package d’installation gratuit disponible à partir du Centre de téléchargement Microsoft.
Étape 1 : Inscrire le serveur de cluster HPC auprès de votre locataire Azure AD
Connectez-vous au portail Azure.
Si votre compte vous donne accès à plusieurs locataires Azure AD, cliquez sur votre compte dans le coin supérieur droit. Définissez ensuite votre session portail sur le locataire souhaité. Vous devez avoir l’autorisation d’accéder aux ressources dans le répertoire.
Cliquez sur Azure Active Directory dans le volet de navigation services gauche, cliquez sur Utilisateurs et groupes, puis vérifiez qu’il existe déjà ou configuré des comptes d’utilisateur.
Dans Azure Active Directory, cliquez sur inscriptions d’applications>nouvelle inscription d’application. Entrez les informations suivantes :
- Name - HPCPackClusterServer
- type d’application - Sélectionner application web / API
-
URL de connexion: URL de base de l’exemple, qui est par défaut
https://hpcserver
- Cliquez sur Créer.
Une fois l’application ajoutée, sélectionnez-la dans la liste des inscriptions d’applications . Cliquez ensuite sur Paramètres>Propriétés. Entrez les informations suivantes :
- Sélectionnez Oui pour multilocataire .
- Modifiez 'URI d’ID d’application en
https://<Directory_name>/<application_name>
. Remplacez<Directory_name
> par le nom complet de votre locataire Azure AD, par exemple,hpclocal.onmicrosoft.com
et remplacez<application_name>
par le nom que vous avez choisi précédemment par exempleHPCPackClusterServer
.
Cliquez sur Enregistrer. Une fois l’enregistrement terminé, dans la page de l’application, cliquez sur manifeste. Modifiez le manifeste en localisant le paramètre
appRoles
et en ajoutant le rôle d’application suivant, puis cliquez sur Enregistrer:"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" } ],
Dans Azure Active Directory, cliquez sur applications d’entreprise>Toutes les applications. Sélectionnez HPCPackClusterServer dans la liste.
Cliquez sur Propriétés, puis modifiez attribution d’utilisateur requise pour Oui. Cliquez sur Enregistrer.
Cliquez sur Utilisateurs et groupes>Ajouter und’utilisateur. Sélectionnez un utilisateur et sélectionnez un rôle, puis cliquez sur Affecter. Attribuez l’un des rôles disponibles (HpcUsers ou HpcAdminMirror) à l’utilisateur. Répétez cette étape avec d’autres utilisateurs dans le répertoire. Pour plus d’informations sur les utilisateurs du cluster, consultez Gestion des utilisateurs de cluster.
Étape 2 : Inscrire le client de cluster HPC auprès de votre locataire Azure AD
Connectez-vous au portail Azure.
Si votre compte vous donne accès à plusieurs locataires Azure AD, cliquez sur votre compte dans le coin supérieur droit. Définissez ensuite votre session portail sur le locataire souhaité. Vous devez avoir l’autorisation d’accéder aux ressources dans le répertoire.
Dans Azure Active Directory, cliquez sur inscriptions d’applications>nouvelle inscription d’application. Entrez les informations suivantes :
- Name - HPCPackClusterClient
- type d’application - Sélectionnez native
-
URI de redirection -
https://hpcclient
- Cliquez sur Créer.
Une fois l’application ajoutée, sélectionnez-la dans la liste des inscriptions d’applications . Copiez l’ID d’application valeur et enregistrez-la. Vous en avez besoin ultérieurement lors de la configuration de votre application.
Cliquez sur Paramètres>Autorisations requises>Ajouter>Sélectionner und’API. Recherchez et sélectionnez l’application HpcPackClusterServer (créée à l’étape 1).
Dans la page Activer Access, sélectionnez Access HpcClusterServer. Cliquez ensuite sur Terminé.
Étape 3 : Configurer le cluster HPC
Connectez-vous au nœud principal HPC Pack 2016 dans Azure.
Démarrez HPC PowerShell.
Exécutez la commande suivante :
Set-HpcClusterRegistry -SupportAAD true -AADInstance https://login.microsoftonline.com/ -AADAppName HpcPackClusterServer -AADTenant <your AAD tenant name> -AADClientAppId <client ID> -AADClientAppRedirectUri https://hpcclient
où
-
AADTenant
spécifie le nom du locataire Azure AD, tel quehpclocal.onmicrosoft.com
-
AADClientAppId
spécifie l’ID d’application de l’application créée à l’étape 2.
-
Effectuez l’une des opérations suivantes, en fonction de la configuration du nœud principal :
Dans un cluster HPC Pack à nœud principal unique, redémarrez le service HpcScheduler.
Dans un cluster HPC Pack avec plusieurs nœuds principaux, exécutez les commandes PowerShell suivantes sur le nœud principal pour redémarrer le service HpcSchedulerStateful :
Connect-ServiceFabricCluster Move-ServiceFabricPrimaryReplica –ServiceName "fabric:/HpcApplication/SchedulerStatefulService"
Étape 4 : Gérer et envoyer des travaux à partir du client
Pour installer les utilitaires clients HPC Pack sur votre ordinateur, téléchargez les fichiers d’installation HPC Pack 2016 (installation complète) à partir du Centre de téléchargement Microsoft. Lorsque vous commencez l’installation, choisissez l’option d’installation pour les utilitaires clients HPC Pack .
Pour préparer l’ordinateur client, installez le certificat utilisé pendant configuration du cluster HPC sur l’ordinateur client. Utilisez des procédures de gestion de certificats Windows standard pour installer le certificat public dans les certificats : l’utilisateur actuel>autorités de certification racines approuvées magasin.
Conseil
Pendant la configuration du client, vous devrez peut-être choisir la validation CN si votre cn de certificat ne correspond pas à l’URL du planificateur ». Vous pouvez également choisir « ignorer l’autorité de certification et la vérification CN » afin que vous n’ayez pas besoin d’importer le certificat sur votre ordinateur client.
Vous pouvez maintenant exécuter les commandes HPC Pack ou utiliser l’interface graphique utilisateur du gestionnaire de travaux HPC Pack pour envoyer et gérer des travaux de cluster à l’aide du compte Azure AD. Pour connaître les options de soumission de travaux, consultez Envoyer des travaux HPC à un cluster HPC Pack dans Azure.
Remarque
Lorsque vous essayez de vous connecter au cluster HPC Pack dans Azure pour la première fois, une fenêtre contextuelle s’affiche. Entrez vos informations d’identification Azure AD pour vous connecter. Le jeton est ensuite mis en cache. Les connexions ultérieures au cluster dans Azure utilisent le jeton mis en cache, sauf si l’authentification change ou si le cache est effacé.
Par exemple, après avoir effectué les étapes précédentes, vous pouvez rechercher des travaux à partir d’un client local comme suit :
Get-HpcJob –State All –Scheduler https://<Azure load balancer DNS name> -Owner <Azure AD account>
Applets de commande utiles pour la soumission de travaux avec l’intégration d’Azure AD
Gérer le cache de jetons local
HPC Pack 2016 fournit les applets de commande POWERShell HPC suivantes pour gérer le cache de jetons local. Ces applets de commande sont utiles pour envoyer des travaux de manière non interactive. Voir l’exemple suivant :
Remove-HpcTokenCache
$SecurePassword = "<password>" | ConvertTo-SecureString -AsPlainText -Force
Set-HpcTokenCache -UserName <AADUsername> -Password $SecurePassword -scheduler https://<Azure load balancer DNS name>
Définir les informations d’identification pour l’envoi de travaux à l’aide du compte Azure AD
Parfois, vous pouvez exécuter le travail sous l’utilisateur du cluster HPC (pour un cluster HPC joint à un domaine, exécuter en tant qu’utilisateur de domaine ; pour un cluster HPC non joint à un domaine, exécuter en tant qu’utilisateur local défini sur tous les nœuds principaux).
Utilisez les commandes suivantes pour définir les informations d’identification :
$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>
Envoyez ensuite le travail comme suit. Le travail/tâche s’exécute sous $localUser sur les nœuds de calcul.
$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
Si
–Credential
n’est pas spécifié avecSubmit-HpcJob
, le travail ou la tâche s’exécute sous un utilisateur mappé local en tant que compte Azure AD. (Le cluster HPC crée un utilisateur local portant le même nom que le compte Azure AD pour exécuter la tâche.)À compter de HPC Pack 2016 Update 2, vous n’êtes pas obligé de définir des données étendues pour les informations d’identification, car la clé d’approbation mutuelle sera générée automatiquement pour que l’utilisateur exécute le travail MPI entre nœuds. Toutefois, si vous utilisez toujours la version antérieure, vous pouvez définir des données étendues pour le compte Azure AD comme indiqué ci-dessous :
Définir des données étendues pour le compte Azure AD lui-même
Set-HpcJobCredential -Scheduler https://<Azure load balancer DNS name> -ExtendedData <data> -AadUser
Définir des données étendues et s’exécuter en tant qu’utilisateur de cluster HPC
Set-HpcJobCredential -Credential $mycreds -Scheduler https://<Azure load balancer DNS name> -ExtendedData <data>