Rafale vers Azure Batch avec Microsoft HPC Pack
Cette rubrique contient des informations sur l’extension de votre cluster HPC Pack pour inclure des pools Azure Batch en tant que ressources de calcul. À l’aide de ces pools Azure Batch, vous pouvez augmenter la capacité de votre cluster HPC à la demande. Pour plus d’informations, consultez la documentation service Azure Batch.
Dans cette rubrique :
Étape 6 : Arrêter le du pool
Prérequis
de cluster HPC Pack : vous devez créer et configurer au moins le nœud principal d’un cluster. La fonctionnalité burst to Batch est disponible à partir de HPC Pack 2012 R2 Update 3.
abonnement Azure - Si vous n’avez pas encore d’abonnement, inscrivez-vous à un essai gratuit , utilisez les avantages de l’abonné MSDN ou explorez d’autres options d’achat.
Étape 1 : Créer un compte Azure Batch
compte Azure Batch- Consultez Créer et gérer un compte Azure Batch pour créer un compte Batch dans le portail Azure .. Vous aurez besoin des informations de compte suivantes (disponibles dans le portail) pour effectuer une rafale vers Batch à partir de HPC Pack 2012 R2 Update 3.
- Nom du compte Batch
- URL du compte Batch
- Clé de compte Batch
À partir de HPC Pack 2016 Update 1, vous devrez peut-être utiliser les informations de compte suivantes pour rafaler vers Batch à partir de HPC Pack en fonction des différents modes d’allocation de ressources Azure Batch (Service Batch ou Abonnement utilisateur) et des méthodes d’authentification client (Clé d’accès Batch ou Azure AD) :
- Batch Serivce avec la clé d’accès
- Nom du compte Batch
- URL du compte Batch
- Clé de compte Batch
- Service Batch ou abonnement utilisateur avec Azure AD
- Batch AAD Instance
- ID de locataire AAD Batch
- Batch AAD ClientApp Id
- Clé ClientApp Batch AAD
- Nom du compte Batch
- URL du compte Batch
Consultez le tableau suivant pour déterminer le type de compte Batch et la méthode d’authentification à choisir. Vous pouvez également vérifier ce blog et ce document pour en savoir plus sur le mode d’allocation du pool d’abonnements utilisateur et comment utiliser l’authentification Azure AD pour le service Azure Batch.
Type de compte/mode d’allocation de pool | Méthodes d’authentification | Types d’images de machine virtuelle | Machine virtuelle de faible priorité | Réseau virtuel |
---|---|---|---|---|
Batch Service | Clé d’accès/ Azure AD | PaaS/IaaS (MarketPlaceImage) / IaaS (CustomImage via Azure AD) | Oui | Oui (via Azure AD) |
Abonnement utilisateur | Azure AD | IaaS (MarketPlaceImage)/ IaaS (CustomImage) | Non | Oui |
Utilisez Azure CLI pour créer un compte Batch avec le mode d’allocation du pool de services Batch et utilisez la clé d’accès Batch pour l’authentification comme suit :
# Authenticate CLI session.
az login
# Select the subscription
az account set -s mysubscription
# Create a resource group.
az group create --name myresourcegroup --location mylocation
# Let's add a storage account reference to the Batch account for use as 'auto-storage'
# for applications. We'll start by creating the storage account.
az storage account create -g myresourcegroup -n mystorageaccount -l mylocation --sku Standard_LRS
# Create a Batch account.
az batch account create -g myresourcegroup -n mybatchaccount -l mylocation --storage-account mystorageaccount
# Now we can display the details of our created account.
az batch account show -g myresourcegroup -n mybatchaccount
# We can view the access keys to the Batch Account for future client authentication.
az batch account keys list -g myresourcegroup -n mybatchaccount
Utiliser Azure CLI pour créer un compte Batch avec le mode d’allocation du pool d’abonnements utilisateur
# Authenticate CLI session.
az login
# Select the subscription
az account set -s mysubscription
# Allow Azure Batch to access the subscription (one-time operation).
az role assignment create --assignee MicrosoftAzureBatch --role contributor
# Create a resource group.
az group create --name myresourcegroup --location mylocation
# A Batch account that will allocate pools in the user's subscription must be configured
# with a Key Vault located in the same region. Let's create this first.
az keyvault create --resource-group myresourcegroup --name mykeyvault --location mylocation --enabled-for-deployment true --enabled-for-disk-encryption true --enabled-for-template-deployment true
# We will add an access-policy to the Key Vault to allow access by the Batch Service.
az keyvault set-policy --resource-group myresourcegroup --name mykeyvault --spn ddbf3205-c6bd-46ae-8127-60eb93363864 --key-permissions all --secret-permissions all
# Now we can create the Batch account, referencing the Key Vault either by name (if they exist in the same resource group) or by its full resource ID.
az batch account create --resource-group myresourcegroup --name mybatchaccount –location mylocation --keyvault mykeyvault
Pour configurer Azure AD pour l’authentification Batch et obtenir des informations Batch AAD
- Obtenez d’instance AAD Batch. Si vous utilisez le cloud Azure global, l’instance AAD est https://login.microsoftonline.com/.
- Obtenez ID de locataire AAD Batch. Dans le portail Azure, cliquez sur Autres services, recherchez et choisissez Azure Active Directory, sélectionnez votre annuaire Active Directory en sélectionnant votre compte dans le coin supérieur droit de la page, puis cliquez sur Propriétés. Copiez la valeur GUID fournie pour l’ID d’annuaire . Cette valeur est également appelée ID de locataire.
- Inscrivez l’application cliente Batch et obtenez le Id ClientApp Batch AAD.
- Dans le portail Azure, choisissez votre locataire Azure AD en sélectionnant votre compte dans le coin supérieur droit de la page.
- Choisissez Autres services, recherchez et choisissez Inscriptions d’applications.
- Cliquez sur +Nouvelle inscription d’application.
- Renseignez l'nom
, choisissez application web /API comme type d’application , puis renseignez une valeur spécifique à votre application, par exemplepour l’URI de connexion . Cliquez sur Créer. - Une fois l’application créée, sélectionnez l’application dans la liste des inscriptions d’applications, puis cliquez sur Propriétés. Copiez la valeur GUID fournie pour l’ID d’application , elle sera utilisée comme Id ClientApp Batch AAD.
- Configurez pour utiliser un principal de service pour l’authentification et obtenir la Batch AAD ClientApp Key.
- Demandez une clé secrète pour l’application. Sélectionnez l’application créée dans la liste des inscriptions d’applications
, puis cliquez sur clés , tapez description de clé, puis choisissez Durée , puis cliquez surEnregistrer . Copiez la valeur affichée qui sera utilisée comme clé ClientApp Batch AAD. - Attribuez un rôle RBAC à l’application pour s’authentifier auprès d’un principal de service. Choisissez Autres services, recherchez et choisissez comptes Batch, cliquez sur le compte batch créé et sélectionnez contrôle d’accès (IAM). Cliquez sur +AJOUTER, sélectionnez rôle contributeur et l’application inscrite. Cliquez sur Enregistrer.
Remarque
Notez que l’authentification Azure AD est prise en charge par le mode Service Batch et le mode Abonnement utilisateur des comptes Batch.
- Batch AAD Instance
- ID de locataire AAD Batch
- Batch AAD ClientApp Id
- Clé ClientApp Batch AAD
Vous pouvez également utiliser l’applet de commande HPC PowerShell pour définir les informations Batch AAD comme indiqué ci-dessous :
# HPC PowerShell
Set-HpcClusterRegistry -BatchAADInstance '<AAD Instance e.g. https://login.microsoftonline.com/>' -BatchAADTenantId <TenantGUID> -BatchAADClientAppId <AppGUID> -BatchAADClientAppKey '<AppKey>'
Étape 2 : Créer un modèle de pool Azure Batch
Pour créer un modèle de pool Azure Batch, utilisez l’Assistant Créer un modèle de nœud dans HPC Cluster Manager.
Pour créer un modèle de pool Batch
Démarrez gestionnaire de cluster HPC.
Dans configuration , dans le volet de navigation , cliquez sur modèles de nœud.
Dans le volet Actions , cliquez sur Nouveau.
L’Assistant Création d’un modèle de nœud s’affiche.Dans la page Choisir le type de modèle de nœud, cliquez sur modèle de pool Azure Batch,, puis cliquez sur suivant.
Dans la page Spécifier le nom du modèle, tapez un nom pour le modèle de nœud, puis tapez éventuellement une description pour celle-ci. Sélectionnez Suivant.
Dans le Fournissez les informations du compte Azure Batch page, renseignez le nom du compte Batch. Si le type de compte Batch est Batch Service, choisissez BatchService comme type de compte Batch. Si vous utilisez la clé d’accès Batch pour l’authentification, renseignez la clé comme clé de compte, si vous utilisez l’authentification Azure AD, laissez-la vide. Si le type de compte Batch est Abonnement utilisateur, choisissez UserSubscription comme type de compte Batch. Renseignez l’URL du compte Batch
et la chaîne de connexion de stockage Azure que nous avons obtenue précédemment, puis cliquez sur suivante.
Remarque
Lorsque l’authentification AAD est requise, assurez-vous que l’instance Batch AAD, l’ID de locataire Batch AAD, l’ID ClientApp Batch et la clé Batch AAD ClientApp sont déjà définis dans la liste de tâches de déploiement , ou la validation du compte échouerait avec l’erreur « Compte Azure Batch non valide. Vérifiez les paramètres du compte Azure Batch. » lorsque vous cliquez sur suivant.
Dans la page configuration de mise à l’échelle automatique Azure Batch, laissez activer la mise à l’échelle automatique désactivée, puis cliquez sur suivant.
Dans la page Configurer les informations d’identification du Bureau à distance et SSH, indiquez éventuellement les informations d’identification d’un utilisateur qui sera créé sur des nœuds de calcul du pool Azure Batch pendant le déploiement. Vous pouvez utiliser les informations d’identification ultérieurement pour vous connecter aux nœuds de calcul du pool. Pour les nœuds Linux, vous pouvez également spécifier clé publique SSH et fichier de clé privée SSH (.ppk) à SSH vers le nœud via putty.exe. Reportez-vous ici pour savoir comment générer une clé publique et un fichier de clé privée pour PuTTY. Notez que si vous spécifiez à la fois le mot de passe et les clés SSH, les clés SSH seront utilisées pour la connexion. Vous devez également copier le fichier de clé privée généré (.ppk) dans %CCP_HOME%Bin dossier pour ouvrir SSH vers les nœuds du Gestionnaire de cluster HPC. Sélectionnez Suivant.
Dans la page Spécifier le script de démarrage, avec HPC Pack 2012 R2 Update 3, spécifiez éventuellement une tâche de démarrage Azure Batch.
- ligne de commande : la commande exécutée au démarrage des nœuds de calcul Azure Batch
- 'URL source d’objet blob : emplacement de stockage Azure des fichiers que vous avez précédemment chargés et qui seront automatiquement téléchargés sur des nœuds de calcul Azure Batch
-
chemin d’accès de fichier local : emplacement pour télécharger les fichiers sur les nœuds de calcul Azure Batch
Dans HPC Pack 2016 Update 1 ou version ultérieure, spécifiez éventuellement une ligne de commande ou le nom d’un script de démarrage à exécuter sur tous les nœuds de calcul Azure Batch dans le pool Batch. Actuellement, le script de démarrage n’est pris en charge que pour les nœuds Linux. Par exemple, si vous souhaitez exécuter un script nommé startup.sh sur tous les nœuds Linux d’un pool Batch au démarrage, vous devez utiliser l’outil en ligne de commande HpcPack.exe pour compresser et charger le script dans le compte de stockage Azure comme ci-dessous, puis spécifier startup.sh dans la ligne de commande :
HpcPack.exe create startup.sh.zip startup.sh HpcPack.exe upload startup.sh.zip /account:<StorageAccountName> /key:<StorageAccountKey>
Cliquez sur suivant et passez en revue tous les paramètres de modèle spécifiés. Cliquez sur Créer pour générer le modèle de nœud de pool Azure Batch.
Étape 3 : Ajouter un pool Azure Batch
Utilisez l’Assistant Ajouter un nœud dans HPC Cluster Manager pour ajouter les nœuds de calcul du pool Batch.
Pour ajouter un pool Azure Batch
Dans HPC Cluster Manager, dans
Gestion des ressources , dans le volet Actions , cliquez sur Ajouter un nœud . L’Assistant Ajouter un nœud s’affiche.Dans la page Sélectionner la méthode de déploiement, cliquez sur Ajouter un pool Azure Batch,, puis sur suivant.
Dans la page Spécifier les informations du pool Azure Batch, sélectionnez un modèle de pool Azure Batch. En fonction du type de compte Batch dans le modèle sélectionné, spécifiez les informations du pool comme suit :
Si le type de compte Batch est Batch Service,- Nombre de nœuds de calcul : nombre de nœuds de calcul (instances de machines virtuelles) dans le nouveau pool Azure Batch
- Que les machines virtuelles soient de machine virtuelle dédiée ou machine virtuelle de faible priorité
- Choisissez le type d’image pour PaaS ou IaaSMarketPlace. Pour
paaS , choisissez lefamille de système d’exploitation. Par exemple, Windows Server 2016. Pour IaaSMarketPlace, choisissez Publisher, Offreet référence SKU. Par exemple, Canonical, UbuntuServer, 16.04-LTS. - Taille des nœuds de calcul : la taille du rôle de chaque nœud de calcul.
- Nombre maximal de tâches par nœud de calcul : nombre maximal de tâches simultanées à exécuter sur chaque nœud de calcul. Le nombre par défaut est égal au nombre de cœurs dans la taille de rôle sélectionnée. Le nombre maximal est trois fois plus grand que le nombre réel de cœurs. Notez que le nombre maximal de tâches par nœud de calcul multiplié par le nombre de nœuds de calcul est égal au nombre total de cœurs du nœud du pool Batch.
- Packages d’application : spécifiez éventuellement les packages d’application qui ont déjà été ajoutés dans le compte Batch au format de <ID>:<Version>,<Id>:<Version>, ... Si le type de compte Batch est Un abonnement utilisateur,
- Nombre de nœuds de calcul ( comme ci-dessus)
- Choisissez le type d’image pour IaaSMarketPlace ou IaaSCustomImage. Pour IaaSMarketPlace, choisissez Publisher, Offer et Sku. Par exemple, Canonical, UbuntuServer, 16.04-LTS. Pour IaaSCustomImage, en plus du serveur de publication, de l’offre et de la référence SKU, l’ID de ressource d’image personnalisée est également requis au format /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}
- Taille des nœuds de calcul ( comme ci-dessus)
- Nombre maximal de tâches par nœud de calcul ( comme ci-dessus)
- Packages d’application : (comme ci-dessus)
- Réseau virtuel : spécifiez éventuellement l’ID de sous-réseau du pool Batch. Reportez-vous ce document pour savoir comment créer un réseau virtuel et un sous-réseau personnalisés et obtenir l’ID de sous-réseau. Vérifiez également les exigences batch pour un réseau virtuel personnalisé spécifié dans ce document.
Remarque
Reportez-vous
ce document pour savoir comment capturer une image à partir d’une machine virtuelle Linux et obtenir l’ID de ressource d’image. Pour une image de machine virtuelle personnalisée ou un réseau virtuel personnalisé (voir ci-dessous), il est nécessaire d’affecter explicitement l’application cliente Batchrôle Contributeur à la ressource via soncontrôle d’accès (IAM). Ou l’échec de « BadRequest » peut se produire lors du démarrage du pool Batch.
Étape 4 : Démarrer le pool
Vous devez démarrer le pool avant d’exécuter des travaux dessus.
Pour démarrer un pool Azure Batch
Dans Gestion des ressources, dans le volet de navigation , cliquez sur Nœuds ou pools Azure Batch.
Dans la vue Liste ou Carte thermique, sélectionnez un ou plusieurs pools Azure Batch.
Dans le volet Actions , cliquez sur Démarrer.
La boîte de dialogue Démarrer des pools Azure Batch s’affiche. Cliquez sur Démarrer.
L’état des nœuds passe de non déployé à d’approvisionnement.
Si vous souhaitez suivre la progression de l’approvisionnement, sélectionnez le pool, puis, dans le volet Détails , cliquez sur l’onglet Journal d’approvisionnement. Le pool Azure Batch doit être créé en moins de 1 minute et l’état passe à hors connexion.
considérations supplémentaires
Surveiller l’état des nœuds de calcul Azure Batch: une fois le pool Azure Batch prêt, les nœuds de calcul Azure Batch sont toujours en cours de création et de démarrage. Pour surveiller l’état du nœud, sélectionnez le pool, puis, dans le volet Détails , cliquez sur nœuds de calcul Azure Batch.
Bureau à distance ou SSH pour calculer des nœuds : une fois les nœuds de calcul du pool Azure Batch démarrés (l’état du nœud est inactif), vous pouvez vous connecter par Bureau à distance ou SSH à chaque nœud de calcul si vous avez configuré des paramètres de modèle pour le faire, par exemple, pour effectuer une configuration manuelle ou une résolution des problèmes. Pour ce faire, sélectionnez un ou plusieurs pools Azure Batch, puis, dans le volet Actions
, cliquez sur Bureau à distance/SSH . Lors de la connexion à des nœuds Linux via SSH, il est nécessaire de copier le fichier de clé privée généré (.ppk) dans le dossier %CCP_HOME%Bin sur l’ordinateur client.Afficher les tâches de démarrage : si vous avez spécifié une tâche de démarrage dans le modèle de pool Azure Batch, une fois le pool Azure Batch démarré, vous pouvez afficher la sortie détaillée de la tâche de démarrage en exécutant l’applet de commande HPC PowerShell suivante :
Get-HpcBatchPoolStartTask -Name <PoolName>
vue Carte thermique - Pendant que le pool Azure Batch est en cours d’exécution, affichez la carte thermique du pool. Dans Gestion des ressources dans le volet de navigation, cliquez sur Nœuds, puis choisissez vue Carte thermique. Vous pouvez également vérifier la carte thermique par machine virtuelle pour les nœuds Linux dans le pool. Dans gestion des ressources dans le volet de navigation, cliquez sur pools Azure Batch, puis choisissez vue Carte thermique. Actuellement, les compteurs de performances suivants sont collectés :
- Utilisation de l’UC
- Débit du disque
- Espace disque libre
- Utilisation du réseau
- Mémoire physique disponible
.
Étape 5 : Exécuter un travail sur le pool
Actuellement, HPC Pack prend en charge l’exécution du travail batch/paramétrique/mpi normal et commandes clusrun sur les pools Azure Batch. Notez les recommandations suivantes pour utiliser clusrun avec Batch :
Exécutez clusrun travaux sur un pool Azure Batch quand aucun autre travail n’est en cours d’exécution sur le pool. S’il existe d’autres travaux ou tâches en cours d’exécution, la clusrun travail peut avoir besoin d’attendre que les tâches en cours d’exécution se terminent.
Les travaux exécutés sur un pool Azure Batch par défaut ne retournent pas la sortie de tâche dans HPC Pack, en raison de l’impact potentiel sur les performances. Vous pouvez définir des tâches de mise en production de nœud dans le travail pour récupérer la sortie de la tâche si vous le souhaitez. Pour récupérer la sortie de la tâche, modifiez la propriété de cluster suivante via HPC PowerShell :
Set-HpcClusterProperty -GetAzureBatchTaskOutput $true
Étape 6 : Arrêter le pool
Lorsque vous n’utilisez pas le pool Batch, arrêtez les ressources Azure. Cela déprovisionne les nœuds de calcul du pool, ce qui réduit les coûts d’utilisation d’un pool Batch.
Pour arrêter le pool
Dans gestion des ressources , dans le volet de navigation , cliquez sur nœuds ou pools Azure Batch.
Dans la vue Liste ou Carte thermique, sélectionnez un ou plusieurs pools Azure Batch que vous souhaitez arrêter.
Dans le volet Actions , cliquez sur Arrêter.
La boîte de dialogue Arrêter les pools Azure Batch s’affiche. Cliquez sur Arrêter.
Si vous souhaitez suivre la progression de l’arrêt, sélectionnez un nœud, puis, dans le volet Détails , cliquez sur l’onglet Journal d’approvisionnement.
Voir aussi
Microsoft HPC Pack : de déploiement de nœud