Automating VM creation/fr: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
(Created page with "==Utilisation de CloudInit== Nous ne discutons pas ici de la création des fichiers YAML; pour ce, consultez la [https://cloudinit.readthedocs.io/en/latest/ documentation off...")
(Updating to match new version of source page)
 
(89 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
''Page enfant de [https://docs.computecanada.ca/wiki/OpenStack/fr OpenStack]''
''Page enfant de [https://docs.computecanada.ca/wiki/Cloud/fr Cloud]''


Les fichiers de configuration discutés ici servent à rapidement créer des instances virtuelles (VM pour ''virtual machine'') et des grappes d'instances virtuelles. Les fichiers au format [https://en.wikipedia.org/wiki/YAML YAML] sont soit des gabarits [https://wiki.openstack.org/wiki/Heat Heat], soit des fichiers  [https://cloudinit.readthedocs.io/en/latest/ CloudInit]. Les fichiers CloudInit servent à initialiser une VM particulière et y sont exécutés. Ces fichiers sont en quelque sorte un moyen d'automatiser les tâches que vous accompliriez en ligne de commande lorsque vous êtes connecté à la VM. Ils servent entre autres à effectuer la mise à jour du système d'exploitation, à installer et configurer des applications, à exécuter des commandes et à créer des utilisateurs et des groupes. Les gabarits Heat offrent encore plus de possibilités&nbsp;: ils servent à automatiser les tâches du tableau de bord OpenStack comme la création simultanée de plusieurs VMs, la configuration de groupes de sécurité, la création et la configuration de réseaux et la création de volumes et leur association avec les VMs. Les gabarits Heat peuvent être utilisés avec les fichiers CloudInit&nbsp;: une fois que Heat a créé la VM, il lui envoie un fichier CloudInit pour l'exécution de tâches de configuration et peut même lui passer par CLoudInit des renseignements sur d'autres ressources dynamiques  (par exemple les adresses IP flottantes d'autres VMs).
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]].


==Utilisation de CloudInit==
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.
Nous ne discutons pas ici de la création des fichiers YAML; pour ce, consultez la  [https://cloudinit.readthedocs.io/en/latest/ documentation officielle]. À la création d'une VM, vous pouvez utiliser un fichier CloudInit pour décrire la configuration de la VM une fois que l'image sélectionnée est chargée. On peut utiliser les fichiers CloudInit avec le tableau de bord Horizon (l'interface Web d'OpenStack), le CLI ou l'API Python. Nous décrirons l'utilisation de CloudInit avec Horizon.


===Specifying a CloudInit File===
==Utilisation de CVMFS==
* Start as normal when launching an instance, by clicking [[File:Launch-Instance-Button-Kilo.png|125px]] under ''Project''->''Compute''->''Instances'' and specifying your VM's configuration as described in [[Cloud Quick Start#Launching a VM | Launching a VM]].
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]]).
* '''Before''' clicking ''Launch'', select the ''Post-Creation'' tab and specify your ''Customization Script Source'', in this case a CloudInit YAML file, by either coping and pasting into a text box (''Direct Input'' method) or uploading from a file from your desktop computer (''File'' method). Older versions of OpenStack, in particular IceHouse, only provide a text box to copy and past your CloudInit file into.
* Once the usual selections for your VM, as described in [[Cloud Quick Start#Launching a VM | Launching a VM]], have been made and the CloudInit YAML file is included, click ''Launch'' to create the VM. It may take some time for CloudInit to complete depending on what has been specified in the CloudInit YAML file.


===Checking CloudInit Progress===
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).
To see the progress of CloudInit on a VM, check the console log of the VM by:


* Selecting ''Project''->''Compute''->''Instances'' in the left hand menu.
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]
* Click on the ''Instance Name'' of the VM. This will provide more information about the particular VM.
* Select the ''Log'' tab and look for lines containing 'clout-init' for information about the various phases of CloudInit.
* When CloudInit has finished running the following line will appear near or at the end of the log:


  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
==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].


* The log must be refreshed manually by clicking the ''Go'' button
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.


==Using Heat Templates==
===Spécifier le fichier cloud-init===
As with CloudInit the creation of Heat Orchestration Template (HOT) files is not covered here, instead see the official [http://docs.openstack.org/developer/heat/template_guide/hot_guide.html documentation]. Heat allows automation of operations performed in the OpenStack dashboard (Horizon) as well as the ability to pass information into the embedded CloudInit files, such as an IP of another server. Before using a Heat template there is usually no need to create any resources in advance. In fact it is often good practice to remove any resources you are not currently using before hand, as using a Heat template consumes resources towards your quota and will fail if it tries to exceed your quota.
# 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.
La durée de l'opération peut être longue puisqu'elle dépend du contenu du fichier YAML.


To use a HOT file:
===Suivi de CloudInit===
Pour suivre la progression, examinez le journal de la console de l'instance.


* Select ''Project''->''Ochestration''->''Stacks''
# Dans la colonne ''Nom de l'instance'', cliquez sur l'instance  pour obtenir l'information sur cette instance.
* Click the ''Launch Stack'' button to start creating a new stack
# Sous l'onglet ''Journal'', les lignes qui contiennent 'cloud-init' décrivent les phases.
* Provide a HOT file. This can be done using a URL, File, or Direct Input. To use a HOT file from links below, follow the link and copy the ''URL'' on the linked page for ''Template Source'' and paste the URL into the ''Template URL'' box.
# Quand Cloud-init s'arrête, la ligne suivante se trouve vers la fin du journal&nbsp;:
* Click ''Next'' to begin setting your stack parameters. Stack parameters will vary depending on the template, however all Stacks have the following parameters by default:
** The ''Stack Name'' parameter which identifies a given stack, choose a name which is meaningful.
** The ''Creation Timeout'' parameter indicates how long after stack creation before OpenStack will give up trying to create the stack if it hasn't finished. The default value is usually sufficient.
** The ''Password for user '' parameter sets the password required for later stack changes. This is often not used as many of the below stacks are not designed to be updated.
* Click ''Launch'' to begin creating your stack.


To graphically see the progress of your stack creation click on the ''Stack Name'' and select the ''Topology'' tab. Gray nodes indicate that creation is in progress, green nodes have finished being created, and red nodes indicate failures. Once the stack has completed successfully click the ''Overview'' tab to see any information that the stack may provide (e.g. a URL to access a service or website).
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


==Available Setups==
Le rafraîchissement du journal se fait en cliquant sur le bouton ''Go'', en haut de la page.


;[[Hadoop+Spark Heat Template]]
==Utilisation de gabarits Heat==
: Creates a Hadoop cluster with Spark configured to run ontop of HDFS and submit jobs using YARN.
Les gabarits Heat sont encore plus puissants&nbsp;: 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)
;[[Apache2 CloudInit]]
: Sets up an apache2 webserver with the document root in users home dir under the <code>public_html</code> folder.  
;[[Mediawiki Heat Template]]
: Sets up a mediawiki webserver.


[[Category:CC-Cloud]]
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&nbsp;:
 
# 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&nbsp;:
#* ''Nom de la pile''&nbsp;: entrez le nom choisi.
#* ''Délai d'attente de création (minutes)''&nbsp;: nombre de minutes allouées à la création de la pile; habituellement, la valeur par défaut suffit.
#* ''Mot de passe pour utilisateur [nom]''&nbsp;:  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.
 
[[Category:Cloud]]

Latest revision as of 19:47, 15 July 2024

Other languages:

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

  1. 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.
  2. 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.
  3. 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.

  1. Dans la colonne Nom de l'instance, cliquez sur l'instance pour obtenir l'information sur cette instance.
  2. Sous l'onglet Journal, les lignes qui contiennent 'cloud-init' décrivent les phases.
  3. 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 :

  1. Sélectionnez Projet->Ochestration->Piles et cliquez sur Lancer la pile pour créer une nouvelle pile.
  2. 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.
  3. Pour Source du modèle, sélectionnez URL.
  4. Collez l'adresse URL dans le champ URL du modèle.
  5. 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.
  6. 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.