Automatiser la création d'instances
Page enfant de 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 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.
In addition to these tools to create and provision your VMs, you can also gain access to the Compute Canada software stack (CVMFS) that is availble on our general purpose computing clusters, within your VM. See the Enabling CVMFS section below.
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 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 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.
Cloud-init configuration is specified using plain text in the YAML format. To see how to create cloud-init files see the official cloud-init documentation. cloud-init files can be used with the Horizon dashboard (OpenStack's web GUI), Terraform, the CLI, or the Python API. Here we describe how to use a cloud-iinit file with Horizon.
Spécifier le fichier CloudInit
- 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 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.
- 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.
- 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é.
As with cloud-init the creation of Heat Orchestration Template (HOT) files is not covered here, instead see the official documentation. HOT files are also written in the YAML format. 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.
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.