Automatiser la création d'instances
Page enfant de Cloud
Pour automatiser la création s'instances infonuagiques, de volumes, etc. vous pouvez utiliser OpenStack CLI, Heat, Terraform ou 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 OpenStack Horizon. Pour installer et configurer les paramètres et les logiciels dans l'instance, on utilise CloudInit.
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 cloud-init
Nous ne discutons pas ici de la création des fichiers YAML; pour ce, consultez la documentation officielle de cloud-init. À la création d'une VM, vous pouvez utiliser un fichier cloud-init pour décrire la configuration de la VM une fois que l'image sélectionnée est chargée. On peut utiliser les fichiers cloud-init avec le tableau de bord Horizon (l'interface Web d'OpenStack), le CLI ou l'API Python. Nous décrivons l'utilisation de cloud-init 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.