Automatiser la création d'instances

Revision as of 15:30, 2 May 2017 by FuzzyBot (talk | contribs) (Updating to match new version of source page)
Other languages:

Page enfant de OpenStack

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 YAML sont soit des gabarits Heat, soit des fichiers 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 : 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 : 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.

Utilisation de CloudInit

Nous ne discutons pas ici de la création des fichiers YAML; pour ce, consultez la documentation officielle de CloudInit. À 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écrivons l'utilisation de CloudInit avec Horizon.

Spécifier le fichier CloudInit

  1. Démarrez une instance de manière habituelle par Projet->Calcul->Instances , en cliquant sur le bouton Démarrer l'instance. Configurez l'instance tel que décrit dans la section Lancer une instance de cette page.
  2. Avant de cliquer sur Démarrer, sélectionnez l'onglet Post-création et entrez un fichier YAML CloudInit 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 CloudInit 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. Les renseignements de complétion paraissent à 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

Nous ne discutons pas ici de la création des fichiers HOT (Heat Orchestration Template); pour ce, consultez la documentation officielle HOT. 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 utiliser un fichier HOT :

  1. Sélectionnez Projet->Ochestration->Piles.
  2. Cliquez sur le bouton Lancer la pile pour créer une nouvelle pile.
  3. Dans la fenêtre Sélectionner un modèle, nous allons entrer un fichier HOT parmi ceux listés dans la section Configurations disponibles ci-après. This can be done using a URL, File, or Direct Input. Pour Source du modèle, sélectionnez URL
  • Cliquez sur Suivant pour configurer les paramètres. Les paramètres peuvent varier selon le gabarit utilisé; les paramètres par défaut sont :
    • Nom de la pile : entrez un nom de votre choix.
    • Délai d'attente de création (minutes) : entrez le 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. (rarement utilisé puisque les piles de la section suivantes ne sont pas conçues pour être modifiées).
  • Cliquez sur Démarrer pour créer la pile.

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).

Configurations disponibles

Hadoop+Spark Heat Template
Creates a Hadoop cluster with Spark configured to run ontop of HDFS and submit jobs using YARN.
Apache2 CloudInit
Sets up an apache2 webserver with the document root in users home dir under the public_html folder.
Mediawiki Heat Template
Sets up a mediawiki webserver.