Exercice - Ajouter un disque au nœud de planificateur d’un cluster HPC
Azure CycleCloud s’appuie sur des modèles pour définir des configurations de cluster. Son implémentation par défaut inclut des modèles intégrés pour les planificateurs les plus courants, mais vous pouvez trouver plusieurs autres dans le dépôt GitHub Azure CycleCloud.
Rappelez-vous que vous souhaitez tester le processus d’implémentation d’un cluster à l’aide d’un modèle Azure CycleCloud personnalisé. À cet effet, vous allez tirer parti du dépôt GitHub Azure CycleCloud hébergeant le projet Slurm organisé par Microsoft. Vous allez modifier un modèle de cluster existant à partir de ce référentiel en modifiant la configuration de stockage du nœud du planificateur, en important le modèle nouvellement modifié dans votre application Azure CycleCloud, en utilisant l’interface graphique de l’application pour créer un cluster et enfin valider la modification de la configuration du stockage.
Important
Pour effectuer des exercices dans ce module, vous devez remplir les conditions préalables suivantes :
- Disposer d’un abonnement Azure avec disponibilité de cœurs de processeurs virtuels dans les trois groupes de tailles de machine virtuelle :
- au moins 4 cœurs de processeurs virtuels de la série DSv3
- au moins 100 cœurs de processeurs virtuels de la série FSv2
- au moins 48 cœurs de processeur virtuel de la série NC
- Disposer d’un compte Microsoft ou d’un compte Microsoft Entra avec le rôle Propriétaire ou Contributeur dans l’abonnement Azure.
- Déployez une application Azure CycleCloud sur une machine virtuelle Azure accessible avec une adresse IP publique associée à son interface réseau.
- Configurez l’application Azure CycleCloud avec l’accès au niveau du rôle Propriétaire ou Contributeur à l’abonnement Azure.
- Disposer d’un compte d’utilisateur d’application Azure CycleCloud avec le rôle Administrateur.
- Créez un sous-réseau de réseau virtuel Azure dans lequel vous pouvez déployer des nœuds de cluster.
- Disposez de la clé privée de la paire de clés SSH utilisée pour configurer l’application Azure CycleCloud.
Remarque
Pour plus d’informations sur l’identification et l’augmentation des quotas de processeurs virtuels dans un abonnement Azure, consultez la documentation suivante :
Remarque
Vous aurez besoin de la clé privée pour vous connecter directement aux nœuds du cluster dans le dernier exercice de ce module.
Dans cet exercice, vous allez effectuer les tâches suivantes :
- Tâche 1 : Installer et configurer Azure CycleCloud CLI
- Tâche 2 : Configurer un projet Slurm Azure CycleCloud
- Tâche 3 : Implémenter un modèle Azure CycleCloud personnalisé
- Tâche 4 : Démarrer un nouveau cluster et examiner sa configuration de stockage
Tâche 1 : Installer et configurer Azure CycleCloud CLI
La plupart des tâches de gestion dans ces exercices et les exercices suivants utilisent l’interface CLI Azure CycleCloud. Vous devez donc commencer par l’installer et la connecter à votre application Azure CycleCloud. Pour simplifier la configuration initiale, vous allez utiliser Azure Cloud Shell.
Remarque
Vous pouvez également vous connecter à la machine virtuelle Azure hébergée dans l’application Azure CycleCloud, où l’interface CLI Azure CycleCloud est déjà installée.
À partir de votre ordinateur, démarrez n’importe quel navigateur web compatible avec le portail Azure, accédez au portail Azure, puis, lorsque vous y êtes invité, authentifiez-vous auprès d’un compte Microsoft ou d’un compte Microsoft Entra disposant du rôle Contributeur ou Propriétaire dans l’abonnement Azure que vous utiliserez dans ce module.
Remarque
Le portail Azure prend en charge les navigateurs web modernes les plus courants, notamment les versions actuelles de Microsoft Edge, Google Chrome, Mozilla Firefox et Apple Safari.
Dans le portail Azure, ouvrez Cloud Shell en sélectionnant son icône dans la barre d’outils en regard de la zone de texte de recherche.
Si vous êtes invité à sélectionner Bash ou PowerShell, sélectionnez Bash.
Remarque
Si c’est la première fois que vous démarrez Azure Cloud Shell et que vous êtes présenté avec le message vous n’avez pas de stockage monté , sélectionnez l’abonnement que vous utilisez dans cet exercice, puis sélectionnez Créer un stockage.
Dans la session Bash dans le volet Azure Cloud Shell , exécutez la commande suivante pour définir la valeur d’une variable sur l’adresse IP publique du serveur d’applications Azure CycleCloud (remplacez l’espace réservé
<public_ip_address>par l’adresse IP publique réelle) :PIP=<public_ip_address>Exécutez la commande suivante pour télécharger le fichier .zip contenant le programme d’installation CLI spécifique à l’instance Azure CycleCloud :
curl -O --insecure https://$PIP/static/tools/cyclecloud-cli.zipExécutez les commandes suivantes en succession pour extraire et exécuter le script qui effectue l’installation de l’interface CLI Azure CycleCloud :
unzip ./cyclecloud-cli.zip cd ./cyclecloud-cli-installer ./install.shRemarque
Ignorez les messages concernant la variable d’environnement de chemin d’accès et passez à l’étape suivante.
Exécutez la commande suivante pour établir une connexion à l’instance Azure CycleCloud, où les espaces réservés
<username>et<password>désignent les identifiants de votre compte d’utilisateur d’application Azure CycleCloud avec le rôle d'Administrateur.cyclecloud initialize --batch --url=https://$PIP --username=<username> --password=<password> --verify-ssl=falseRemarque
Le paramètre
--verify-ssldéfini surfalseprend en charge les scénarios où l’application Azure CycleCloud est configurée avec un certificat auto-signé ou un certificat d’une autorité de certification non approuvée.Exécutez la commande suivante pour vérifier la connexion à l’instance Azure CycleCloud en affichant sa configuration de casier :
cyclecloud locker listRemarque
La sortie doit inclure les noms des espaces de stockage pour chaque abonnement Azure enregistré auprès de CycleCloud et leurs conteneurs respectifs associés dans des comptes de stockage Azure distincts. Vous devez enregistrer le nom du casier correspondant à l’abonnement Azure que vous envisagez d’utiliser pour ce labo, car vous en aurez besoin plus loin dans cet exercice. La sortie de la commande est au format suivant (où l’espace
<locker-name>réservé représente le nom du casier, l’espace<storage_account_name>réservé représente le nom du compte de stockage hébergeant ce casier, et l’espace<container_name>réservé représente le nom du conteneur de stockage dans ce compte de stockage) :<locker-name> (az://<storage_account_name>/<container_name>)
Tâche 2 : Configurer un projet Slurm Azure CycleCloud
Ensuite, vous allez configurer un exemple de projet Slurm Azure CycleCloud. Vous allez tirer parti d’un projet Slurm existant à partir du dépôt GitHub Azure CycleCloud. Vous allez l’extraire dans votre répertoire de base dans Azure Cloud Shell, puis le charger dans le casier Azure CycleCloud.
Sur votre ordinateur, dans la session Bash dans le volet Azure Cloud Shell , exécutez les commandes suivantes pour créer un répertoire de projet et récupérer un projet Slurm à partir du référentiel GitHub correspondant.
mkdir ~/cyclecloud-slurm && cd ~/cyclecloud-slurm cyclecloud project fetch https://github.com/Azure/cyclecloud-slurm .Remarque
Veillez à inclure le point à la fin de la seconde commande.
Exécutez la commande suivante pour désigner le casier par défaut et charger le projet dans celui-ci (remplacez l’espace réservé
<locker_name>par le nom du casier que vous avez identifié dans la tâche précédente, par exemplecc-lab-subscription-storage) :cyclecloud project default_locker <locker_name> cyclecloud project uploadRemarque
Vous pouvez aussi exécuter
cyclecloud project upload <locker_name>, où l’espace réservé<locker_name>désigne le nom du coffre.Remarque
Ignorez le message d'erreur lié à azcopy indiquant
Cannot perform sync due to error: sync must happen between source and destination of the same type, e.g., either file <-> file, or directory/container <-> directory/containersuivi deUpload failed!, tant que les copies individuelles des fichiers du projet réussissent. Pour confirmer cela, vérifiez que l’état final du travail est répertorié en tant queCompleted, avec aucun transfert ayant échoué.
Tâche 3 : Implémenter un modèle Azure CycleCloud personnalisé
À présent, vous allez télécharger et modifier l’exemple de modèle Azure CycleCloud compatible avec le projet GitHub récupéré. Vous l’utiliserez pour définir une configuration de stockage personnalisée qui inclut un disque supplémentaire attaché au nœud du planificateur et exporté via le système de fichiers réseau (NFS). Après cette modification, vous allez l’importer dans votre application Azure CycleCloud.
Remarque
Vous pouvez examiner le contenu du modèle avec un navigateur web en accédant au référentiel Azure/cyclecloud-slurm.
Sur votre ordinateur, dans la fenêtre du navigateur web affichant la session Bash dans le volet Azure Cloud Shell , exécutez la commande suivante pour remplacer le répertoire de travail par le dépôt nouvellement récupéré :
cd ~/cyclecloud-slurm/templatesExécutez les commandes suivantes pour créer une sauvegarde du modèle de cluster d’origine :
cp slurm.txt slurm.bak.txtExécutez la commande suivante pour ouvrir le modèle téléchargé dans l’éditeur Nano :
nano slurm.txtRemarque
Au lieu de l’éditeur nano, vous pouvez utiliser n’importe quel autre éditeur de texte disponible, y compris l’éditeur intégré Azure Cloud Shell.
Dans l’interface de l’éditeur Nano, accédez à la
[[node scheduler]]section. Dans cette section, recherchez la[[[volume shared]]]sous-section, passez à la lignePersistent = ${NFSType == "Builtin"}et ajoutez le contenu suivant après :# Add 2 premium disks in a RAID 0 configuration to the NFS export [[[volume nfs-1]]] Size = 128 StorageAccountType = Premium_LRS Mount = nfs Persistent = true [[[volume nfs-2]]] Size = 128 StorageAccountType = Premium_LRS Mount = nfs Persistent = true [[[configuration cyclecloud.mounts.nfs]]] mountpoint = /mnt/exports/lab fs_type = ext4 raid_level = 0Remarque
Si vous utilisez un ordinateur Windows, vous pouvez coller le contenu du Presse-papiers à l’aide de la combinaison Maj + Insertion de touches.
Remarque
Vos modifications définissent deux disques de stockage Premium de 128 Go dans un volume à bandes qui sera automatiquement monté sur le nœud principal pendant son approvisionnement. Le volume utilise le point de montage /mnt/export/et sera automatiquement mis en forme comme système de fichiers ext4. Le
Persistent = trueparamètre indique que les disques sont conservés lorsque vous terminez le cluster, mais ils seront automatiquement supprimés si vous supprimez le cluster.Remarque
Azure CycleCloud implémente les volumes en tant que disques managés Azure.
Dans l’interface de l’éditeur Nano, sélectionnez la combinaison de touches Ctrl + O , sélectionnez la touche Entrée , puis la combinaison de touches Ctrl + X pour enregistrer les modifications que vous avez apportées et fermer le fichier.
Remarque
À ce stade, vous pouvez utiliser votre connexion à l’application Azure CycleCloud via l’interface CLI pour importer le modèle.
Exécutez la commande suivante pour importer le modèle que vous avez modifié dans la tâche précédente dans l’application Azure CycleCloud :
cyclecloud import_template -f ~/cyclecloud-slurm/templates/slurm.txtRemarque
La commande affiche le nom du modèle importé, l’état du planificateur (
scheduler: Off -- --) et le nombre total de nœuds (Total nodes: 1).
Tâche 4 : Démarrer un nouveau cluster et examiner sa configuration de stockage
Pour conclure cet exercice, vous allez vérifier que le modèle que vous avez importé dans l’application Azure CycleCloud fournit les fonctionnalités prévues en créant un cluster et en examinant la configuration de stockage de son nœud principal pour vous assurer qu’il inclut un volume composé de deux disques persistants.
Sur votre ordinateur, ouvrez une autre fenêtre de navigateur et accédez à l’URL https://< IP_address> (remplacez l’espace <réservé IP_address> par l’adresse IP publique du serveur d’applications Azure CycleCloud). Si vous y êtes invité, vérifiez que vous souhaitez continuer.
Si vous êtes invité à vous authentifier, connectez-vous en fournissant des informations d’identification du même compte d’utilisateur d’application Azure CycleCloud que vous avez utilisé pour configurer l’interface CLI Azure CycleCloud.
Dans l’interface graphique Azure CycleCloud, accédez à la page Clusters et sélectionnez +.
Dans la page Créer un cluster , sélectionnez l’icône intitulée Slurm sous la forme d’un triangle isosceles avec de petits cercles à chacun de ses sommets.
Sous l’onglet À propos de la page Nouveau cluster Slurm , entrez contoso-custom-slurm-lab-cluster dans la zone de texte Nom du cluster.
Sous l’onglet Paramètres requis de la page Nouveau cluster Slurm , configurez les paramètres suivants (laissez d’autres utilisateurs avec leurs valeurs par défaut) et sélectionnez Suivant :
Réglage Valeur Région Sélectionnez le nom de la région Azure dans laquelle vous envisagez de déployer le cluster dans cet exercice. Type de machine virtuelle du planificateur Sélectionnez Choisir dans la fenêtre contextuelle Sélectionner un type d’ordinateur . Dans la zone de texte Recherche de référence SKU, entrez D4s_v3. Dans la liste des résultats, cochez la case en regard de l’entrée D4s_v3 , puis sélectionnez Appliquer. Remarque
Veillez à sélectionner la taille de machine virtuelle qui prend en charge le niveau Premium du stockage Azure, qui est nécessaire pour provisionner des disques du nœud principal en fonction de votre configuration personnalisée.
Réglage Valeur Nombre maximum de cœurs HPC Entrez 100. Nombre max. de cœurs HTC Entrez 100. Nombre max. de machines virtuelles par groupe identique Entrez 40. ID de sous-réseau Sélectionnez cyclecloud-rg: cyclecloud-rg-vnet-contoso-slurm-lab-cluster-subnet. Sous l’onglet Stockage attaché au réseau de la page Nouveau cluster Slurm , vérifiez que le type NFS est défini sur Builtin, acceptez la valeur par défaut de taille (Go) sur 100, puis sélectionnez Suivant.
Sous l’onglet Paramètres avancés de la page Nouveau cluster Slurm , passez en revue les options disponibles sans apporter de modifications, puis sélectionnez Suivant.
Sous l’onglet Cloud-init de la page Nouveau cluster Slurm , passez en revue les options disponibles sans apporter de modifications, puis sélectionnez Enregistrer.
Dans la page contoso-custom-slurm-lab-cluster , sélectionnez le lien Démarrer . Lorsque vous êtes invité à confirmer, sélectionnez OK.
Surveillez le processus de démarrage.
Remarque
Le processus implique l’approvisionnement de la machine virtuelle Azure qui sert le rôle du nœud principal, de l’installation et de la configuration du planificateur Swarm, ainsi que la création et le montage de volumes de disque. Cette opération peut prendre environ cinq minutes.
Une fois que l’état du nœud du planificateur passe à Prêt, sélectionnez son entrée sous l’onglet Nœuds , puis sélectionnez Afficher le détail pour afficher son affichage détaillé.
Dans la fenêtre contextuelle Affichage du planificateur dans contoso-custom-slurm-lab-cluster , basculez vers l’onglet Nœud , faites défiler vers la section Volumes et vérifiez que les entrées nfs-1 et nfs-2 s’affichent sur la liste des volumes.
Félicitations! Vous avez effectué avec succès le premier exercice de ce module. Dans cet exercice, vous avez implémenté un cluster basé sur un modèle Azure CycleCloud personnalisé. Vous avez utilisé Azure CycleCloud CLI pour importer un exemple de projet hébergé dans le référentiel GitHub Azure CycleCloud, y compris une copie personnalisée de l’un de ses modèles. Ensuite, vous avez créé un cluster basé sur le modèle importé avec l’interface graphique Azure CycleCloud, l’avez démarré et vérifié que la modification personnalisée a pris effet.
Remarque
Ne supprimez pas les ressources que vous avez déployées et configurées dans cet exercice si vous envisagez d’exécuter l’exercice suivant dans ce module. Vous avez besoin de ces ressources pour effectuer l’exercice suivant.