Automating VM creation/fr: Difference between revisions
(Updating to match new version of source page) |
(Updating to match new version of source page) |
||
(48 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> | <languages/> | ||
''Page enfant de [https://docs.computecanada.ca/wiki/ | ''Page enfant de [https://docs.computecanada.ca/wiki/Cloud/fr Cloud]'' | ||
Pour automatiser la création d'instances infonuagiques, de volumes, etc. vous pouvez utiliser [[OpenStack command line clients/fr | OpenStack CLI]], [[Automating VM creation/fr#Utilisation_de_gabarits_Heat|Heat]], [[Terraform/fr | Terraform]] ou l' API Python pour OpenStack. OpenStack CLI et Terraform sont des outils de ligne de commande, alors que Heat s'utilise via le tableau de bord Web OpenStack Horizon. Pour installer et configurer les paramètres et les logiciels dans l'instance, on utilise [[Automating VM creation/fr#Utilisation_de_cloud-init | cloud-init]]. | |||
En plus de ces outils, vous pouvez aussi avoir accès à la pile logicielle de Calcul Canada (CVMFS) qui est disponible sur nos grappes d'usage général; voyez [[Automating VM creation/fr#Utilisation_de_CVMFS | ''Utilisation de CVMFS'']] ci-dessous. | |||
===Spécifier le fichier | ==Utilisation de CVMFS== | ||
# Démarrez une instance de manière habituelle par ''Projet->Calcul->Instances'' , en cliquant sur ''Démarrer l'instance''. Configurez l'instance tel que décrit dans la section | CVMFS est un système de fichiers HTTP qui offre un service évolutif et fiable pour la distribution de logiciels de recherche. Du côté du client, les utilisateurs n'ont qu'à monter CVMFS et utiliser les logiciels et les bibliothèques directement, sans se soucier de compiler ou d'adapter le code. Les logiciels sont précompilés pour les systèmes d’exploitation fréquemment utilisés et peuvent être chargés via des modules (voir [[Utiliser des modules]]). | ||
# '''Avant''' de cliquer sur ''Démarrer'', sélectionnez l'onglet ''Post-création'' et entrez un fichier YAML | |||
CVMFS est installé sur les grappes Cedar, Graham et Béluga; l'installation sur un nuage se fait en suivant [https://github.com/ComputeCanada/CVMFS/tree/main/cvmfs-cloud-scripts ces directives] (en anglais). | |||
Pour plus d'information, consultez [[Accessing_CVMFS/fr|notre page wiki Accès à CVMFS]] et la [https://cvmfs.readthedocs.io/en/stable/ documentation du CERN] | |||
==Utilisation de cloud-init== | |||
Les fichiers cloud-init sont utilisés pour initialiser une instance en particulier et pour être exécutés à l'intérieur de cette même instance. C'est en quelque sorte un moyen d'automatiser des tâches que vous feriez en ligne de commande lorsque connecté à votre instance. Ces fichiers peuvent servir par exemple à mettre à jour le système d'exploitation, installer et configurer des applications, créer des fichiers, exécuter des commandes et créer des utilisateurs et des groupes. Cloud-init peut aussi configurer d'autres outils comme [https://docs.ansible.com/ Ansible] ou [https://puppet.com/ Puppet]. | |||
La configuration de cloud-init est spécifiée en texte brut en format [https://fr.wikipedia.org/wiki/YAML YAML]. Pour savoir comment créer des fichiers, voyez la [https://cloudinit.readthedocs.io/en/latest/ documentation cloud-init]. Ces fichiers peuvent être utilisés avec Terraform, le CLI, l'API Python et le tableau de bord Horizon, l'interface Web de OpenStack. Nous décrivons ici l'utilisation de cloud-init avec Horizon. | |||
===Spécifier le fichier cloud-init=== | |||
# Démarrez une instance de manière habituelle par ''Projet->Calcul->Instances'', en cliquant sur ''Démarrer l'instance''. Configurez l'instance tel que décrit dans la section [https://docs.computecanada.ca/wiki/Cloud_Quick_Start/fr#Lancer_une_instance Lancer une instance]. | |||
# '''Avant''' de cliquer sur ''Démarrer'', sélectionnez l'onglet ''Post-création'' et entrez un fichier YAML cloud-init dans le champ ''Source du script de personnalisation'', soit en faisant un copier-coller du fichier (méthode ''Entrée directe''), soit en téléversant le fichier à partir de votre ordinateur (méthode ''Fichier''). Dans des versions antérieures d'OpenStack, et en particulier IceHouse, le fichier cloud-init est copié dans une zone de texte. Retournez à l'onglet ''Détails''. | |||
# Une fois que tous les champs sont remplis, cliquez sur ''Démarrer'' pour créer l'instance. | # Une fois que tous les champs sont remplis, cliquez sur ''Démarrer'' pour créer l'instance. | ||
La durée de l'opération peut être longue puisqu'elle dépend du contenu du fichier YAML. | La durée de l'opération peut être longue puisqu'elle dépend du contenu du fichier YAML. | ||
Line 18: | Line 29: | ||
# Dans la colonne ''Nom de l'instance'', cliquez sur l'instance pour obtenir l'information sur cette instance. | # Dans la colonne ''Nom de l'instance'', cliquez sur l'instance pour obtenir l'information sur cette instance. | ||
# Sous l'onglet ''Journal'', les lignes qui contiennent 'cloud-init' décrivent les phases. | # Sous l'onglet ''Journal'', les lignes qui contiennent 'cloud-init' décrivent les phases. | ||
# | # Quand Cloud-init s'arrête, la ligne suivante se trouve vers la fin du journal : | ||
Cloud-init v. 0.7.5 finished at Wed, 22 Jun 2016 17:52:29 +0000. Datasource DataSourceOpenStack [net,ver=2]. Up 44.33 seconds | |||
Le rafraîchissement du journal se fait en cliquant sur le bouton ''Go'', en haut de la page. | Le rafraîchissement du journal se fait en cliquant sur le bouton ''Go'', en haut de la page. | ||
==Utilisation de gabarits Heat== | ==Utilisation de gabarits Heat== | ||
Nous ne discutons pas ici de la création des fichiers HOT (''Heat Orchestration Template''); pour ce, consultez la [http://docs.openstack.org/developer/heat/template_guide/hot_guide.html documentation officielle | Les gabarits Heat sont encore plus puissants : ils peuvent être utilisés pour automatiser des tâches faites dans le tableau de bord OpenStack, par exemple créer simultanément plusieurs instances, configurer des groupes de sécurité, créer et configurer des réseaux ou créer des volumes et les attacher à des instances. Les gabarits Heat peuvent être utilisés avec des fichiers cloud-init; une fois que Heat a créé une instance, il peut passer un fichier cloud-init à cette instante pour exécuter des tâches de configuration ou même inclure dynamiquement de l'information sur d'autres ressources dans le fichier cloud-init (par exemple des IP flottantes d'autres instances) | ||
Nous ne discutons pas ici de la création des fichiers HOT (''Heat Orchestration Template''); pour ce, consultez la [http://docs.openstack.org/developer/heat/template_guide/hot_guide.html documentation officielle]. Heat peut automatiser les tâches exécutées du tableau de bord OpenStack (Horizon) et passer aux fichiers CloudInit inclus des renseignements sur les adresses IP d'autres serveurs. L'utilisation d'un gabarit Heat ne nécessite habituellement pas la création préalable de ressources. Il est de bonne pratique de supprimer les ressources qui ne sont pas utilisées puisque les gabarits Heat consomment des ressources et qu'ils vont s'arrêter si le quota est dépassé. | |||
Pour créer une pile avec un fichier HOT : | |||
Pour | |||
# Sélectionnez ''Projet->Ochestration->Piles'' et cliquez sur ''Lancer la pile'' pour créer une nouvelle pile. | # Sélectionnez ''Projet->Ochestration->Piles'' et cliquez sur ''Lancer la pile'' pour créer une nouvelle pile. | ||
# Dans la fenêtre ''Sélectionner un modèle'' | # Dans la fenêtre ''Sélectionner un modèle'', vous pouvez entrer une URL, un nom de fichier ou faire une entrée directe. Nous utiliserons un fichier HOT parmi ceux listés dans la section ''Configurations disponibles'' ci-après. | ||
# Pour ''Source du modèle'', sélectionnez ''URL''. | # Pour ''Source du modèle'', sélectionnez ''URL''. | ||
# Collez l'adresse URL dans le champ ''URL du modèle''. | # Collez l'adresse URL dans le champ ''URL du modèle''. | ||
Line 38: | Line 49: | ||
#* ''Nom de la pile'' : entrez le nom choisi. | #* ''Nom de la pile'' : entrez le nom choisi. | ||
#* ''Délai d'attente de création (minutes)'' : nombre de minutes allouées à la création de la pile; habituellement, la valeur par défaut suffit. | #* ''Délai d'attente de création (minutes)'' : nombre de minutes allouées à la création de la pile; habituellement, la valeur par défaut suffit. | ||
#* ''Mot de passe pour utilisateur [nom]'' : ce mot de passe est requis pour des modifications ultérieures à la pile; il est rarement utilisé puisque les piles de la section | #* ''Mot de passe pour utilisateur [nom]'' : ce mot de passe est requis pour des modifications ultérieures à la pile; il est rarement utilisé puisque les piles de la section suivante ne sont pas conçues pour être modifiées. | ||
# Cliquez sur ''Démarrer'' pour créer la pile. | # Cliquez sur ''Démarrer'' pour créer la pile. | ||
Pour une image de la progression, cliquez sur le nom de la pile et sélectionnez l'onglet ''Topologie''. Les nœuds gris indiquent que la création est en cours; les nœuds verts indiquent que la pile est créée; les nœuds rouges indiquent que la création a échoué. Une fois la pile créée, cliquez sur l'onglet ''Vue d'ensemble'' pour l'information sur la pile, c'est-à-dire l'URL pour accéder à un site ou à un service. | |||
[[Category: | [[Category:Cloud]] |
Latest revision as of 19:47, 15 July 2024
Page enfant de Cloud
Pour automatiser la création d'instances infonuagiques, de volumes, etc. vous pouvez utiliser OpenStack CLI, Heat, Terraform ou l' API Python pour OpenStack. OpenStack CLI et Terraform sont des outils de ligne de commande, alors que Heat s'utilise via le tableau de bord Web OpenStack Horizon. Pour installer et configurer les paramètres et les logiciels dans l'instance, on utilise cloud-init.
En plus de ces outils, vous pouvez aussi avoir accès à la pile logicielle de Calcul Canada (CVMFS) qui est disponible sur nos grappes d'usage général; voyez Utilisation de CVMFS ci-dessous.
Utilisation de CVMFS
CVMFS est un système de fichiers HTTP qui offre un service évolutif et fiable pour la distribution de logiciels de recherche. Du côté du client, les utilisateurs n'ont qu'à monter CVMFS et utiliser les logiciels et les bibliothèques directement, sans se soucier de compiler ou d'adapter le code. Les logiciels sont précompilés pour les systèmes d’exploitation fréquemment utilisés et peuvent être chargés via des modules (voir Utiliser des modules).
CVMFS est installé sur les grappes Cedar, Graham et Béluga; l'installation sur un nuage se fait en suivant ces directives (en anglais).
Pour plus d'information, consultez notre page wiki Accès à CVMFS et la documentation du CERN
Utilisation de cloud-init
Les fichiers cloud-init sont utilisés pour initialiser une instance en particulier et pour être exécutés à l'intérieur de cette même instance. C'est en quelque sorte un moyen d'automatiser des tâches que vous feriez en ligne de commande lorsque connecté à votre instance. Ces fichiers peuvent servir par exemple à mettre à jour le système d'exploitation, installer et configurer des applications, créer des fichiers, exécuter des commandes et créer des utilisateurs et des groupes. Cloud-init peut aussi configurer d'autres outils comme Ansible ou Puppet.
La configuration de cloud-init est spécifiée en texte brut en format YAML. Pour savoir comment créer des fichiers, voyez la documentation cloud-init. Ces fichiers peuvent être utilisés avec Terraform, le CLI, l'API Python et le tableau de bord Horizon, l'interface Web de OpenStack. Nous décrivons ici l'utilisation de cloud-init avec Horizon.
Spécifier le fichier cloud-init
- Démarrez une instance de manière habituelle par Projet->Calcul->Instances, en cliquant sur Démarrer l'instance. Configurez l'instance tel que décrit dans la section Lancer une instance.
- Avant de cliquer sur Démarrer, sélectionnez l'onglet Post-création et entrez un fichier YAML cloud-init dans le champ Source du script de personnalisation, soit en faisant un copier-coller du fichier (méthode Entrée directe), soit en téléversant le fichier à partir de votre ordinateur (méthode Fichier). Dans des versions antérieures d'OpenStack, et en particulier IceHouse, le fichier cloud-init est copié dans une zone de texte. Retournez à l'onglet Détails.
- Une fois que tous les champs sont remplis, cliquez sur Démarrer pour créer l'instance.
La durée de l'opération peut être longue puisqu'elle dépend du contenu du fichier YAML.
Suivi de CloudInit
Pour suivre la progression, examinez le journal de la console de l'instance.
- Dans la colonne Nom de l'instance, cliquez sur l'instance pour obtenir l'information sur cette instance.
- Sous l'onglet Journal, les lignes qui contiennent 'cloud-init' décrivent les phases.
- Quand Cloud-init s'arrête, la ligne suivante se trouve vers la fin du journal :
Cloud-init v. 0.7.5 finished at Wed, 22 Jun 2016 17:52:29 +0000. Datasource DataSourceOpenStack [net,ver=2]. Up 44.33 seconds
Le rafraîchissement du journal se fait en cliquant sur le bouton Go, en haut de la page.
Utilisation de gabarits Heat
Les gabarits Heat sont encore plus puissants : ils peuvent être utilisés pour automatiser des tâches faites dans le tableau de bord OpenStack, par exemple créer simultanément plusieurs instances, configurer des groupes de sécurité, créer et configurer des réseaux ou créer des volumes et les attacher à des instances. Les gabarits Heat peuvent être utilisés avec des fichiers cloud-init; une fois que Heat a créé une instance, il peut passer un fichier cloud-init à cette instante pour exécuter des tâches de configuration ou même inclure dynamiquement de l'information sur d'autres ressources dans le fichier cloud-init (par exemple des IP flottantes d'autres instances)
Nous ne discutons pas ici de la création des fichiers HOT (Heat Orchestration Template); pour ce, consultez la documentation officielle. Heat peut automatiser les tâches exécutées du tableau de bord OpenStack (Horizon) et passer aux fichiers CloudInit inclus des renseignements sur les adresses IP d'autres serveurs. L'utilisation d'un gabarit Heat ne nécessite habituellement pas la création préalable de ressources. Il est de bonne pratique de supprimer les ressources qui ne sont pas utilisées puisque les gabarits Heat consomment des ressources et qu'ils vont s'arrêter si le quota est dépassé.
Pour créer une pile avec un fichier HOT :
- Sélectionnez Projet->Ochestration->Piles et cliquez sur Lancer la pile pour créer une nouvelle pile.
- Dans la fenêtre Sélectionner un modèle, vous pouvez entrer une URL, un nom de fichier ou faire une entrée directe. Nous utiliserons un fichier HOT parmi ceux listés dans la section Configurations disponibles ci-après.
- Pour Source du modèle, sélectionnez URL.
- Collez l'adresse URL dans le champ URL du modèle.
- Cliquez sur Suivant pour configurer les paramètres; ces derniers peuvent varier selon le gabarit utilisé, mais par défaut, toutes les piles ont :
- Nom de la pile : entrez le nom choisi.
- Délai d'attente de création (minutes) : nombre de minutes allouées à la création de la pile; habituellement, la valeur par défaut suffit.
- Mot de passe pour utilisateur [nom] : ce mot de passe est requis pour des modifications ultérieures à la pile; il est rarement utilisé puisque les piles de la section suivante ne sont pas conçues pour être modifiées.
- Cliquez sur Démarrer pour créer la pile.
Pour une image de la progression, cliquez sur le nom de la pile et sélectionnez l'onglet Topologie. Les nœuds gris indiquent que la création est en cours; les nœuds verts indiquent que la pile est créée; les nœuds rouges indiquent que la création a échoué. Une fois la pile créée, cliquez sur l'onglet Vue d'ensemble pour l'information sur la pile, c'est-à-dire l'URL pour accéder à un site ou à un service.